Class ADataController
java.lang.Object
com.xzavier0722.mc.plugin.slimefun4.storage.controller.ADataController
- Direct Known Subclasses:
BlockDataController,ProfileDataController
ADataController 是 Slimefun 数据库控制器的抽象类,
提供了对数据源适配器的访问和数据操作的基本方法。
该类提供了对数据库的增删查改操作以及异步读写的支持。
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ExecutorService数据库回调调度器protected final LoggerThe logger for this data controller.protected ExecutorService数据库读取调度器protected ExecutorServiceprotected ExecutorService数据库写入调度器 -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedADataController(DataType dataType) Constructs a new ADataController. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidabortScopeTask(ScopeKey key) protected voidprotected voiddeleteData(RecordKey key) final DataTypevoidinit(IDataSourceAdapter<?> dataAdapter, int maxReadThread, int maxWriteThread) 初始化ADataControllerprotected <T> voidinvokeCallback(IAsyncReadCallback<T> callback, T result) protected voidscheduleDeleteTask(ScopeKey scopeKey, RecordKey key, boolean forceScopeKey) protected voidscheduleReadTask(Runnable run) protected voidscheduleWriteTask(ScopeKey scopeKey, RecordKey key, RecordSet data, boolean forceScopeKey) protected voidscheduleWriteTask(ScopeKey scopeKey, RecordKey key, Runnable task, boolean forceScopeKey) protected voidprotected voidvoidshutdown()正常关闭ADataController
-
Field Details
-
readExecutor
数据库读取调度器 -
writeExecutor
数据库写入调度器 -
serialWriteExecutor
-
callbackExecutor
数据库回调调度器 -
logger
The logger for this data controller.
-
-
Constructor Details
-
ADataController
Constructs a new ADataController.- Parameters:
dataType- The data type this controller manages
-
-
Method Details
-
init
@OverridingMethodsMustInvokeSuper public void init(IDataSourceAdapter<?> dataAdapter, int maxReadThread, int maxWriteThread) 初始化ADataController- Parameters:
dataAdapter- The data source adaptermaxReadThread- Maximum number of read threadsmaxWriteThread- Maximum number of write threads
-
shutdown
@OverridingMethodsMustInvokeSuper public void shutdown()正常关闭ADataController -
scheduleDeleteTask
-
scheduleWriteTask
-
scheduleWriteTask
-
checkDestroy
protected void checkDestroy() -
invokeCallback
-
scheduleReadTask
-
scheduleWriteTask
-
getData
-
getData
-
setData
-
deleteData
-
abortScopeTask
-
getDataType
-