java.lang.Object
com.xzavier0722.mc.plugin.slimefun4.storage.controller.ADataController
Direct Known Subclasses:
BlockDataController, ProfileDataController

public abstract class ADataController extends Object
ADataController 是 Slimefun 数据库控制器的抽象类, 提供了对数据源适配器的访问和数据操作的基本方法。
该类提供了对数据库的增删查改操作以及异步读写的支持。
  • Field Details

    • logger

      protected final Logger logger
  • Constructor Details

    • ADataController

      protected ADataController(DataType dataType)
  • Method Details

    • init

      @OverridingMethodsMustInvokeSuper public void init(IDataSourceAdapter<?> dataAdapter, int maxReadThread, int maxWriteThread)
      初始化 ADataController
    • shutdown

      @OverridingMethodsMustInvokeSuper public void shutdown()
      正常关闭 ADataController
    • scheduleDeleteTask

      protected void scheduleDeleteTask(ScopeKey scopeKey, RecordKey key, boolean forceScopeKey)
    • scheduleWriteTask

      protected void scheduleWriteTask(ScopeKey scopeKey, RecordKey key, RecordSet data, boolean forceScopeKey)
    • scheduleWriteTask

      protected void scheduleWriteTask(ScopeKey scopeKey, RecordKey key, Runnable task, boolean forceScopeKey)
    • checkDestroy

      protected void checkDestroy()
    • invokeCallback

      protected <T> void invokeCallback(IAsyncReadCallback<T> callback, T result)
    • scheduleReadTask

      protected void scheduleReadTask(Runnable run)
    • scheduleWriteTask

      protected void scheduleWriteTask(Runnable run)
    • getData

      protected List<RecordSet> getData(RecordKey key)
    • getData

      protected List<RecordSet> getData(RecordKey key, boolean distinct)
    • setData

      protected void setData(RecordKey key, RecordSet data)
    • deleteData

      protected void deleteData(RecordKey key)
    • abortScopeTask

      protected void abortScopeTask(ScopeKey key)
    • getDataType

      public final DataType getDataType()