Package org.kingdoms.data.centers
Class DataCenter
java.lang.Object
org.kingdoms.data.managers.BaseDataManager
org.kingdoms.data.centers.DataCenter
- All Implemented Interfaces:
Closeable,AutoCloseable,org.kingdoms.constants.namespace.Namespaced
- Direct Known Subclasses:
KingdomsDataCenter
public abstract class DataCenter
extends org.kingdoms.data.managers.BaseDataManager
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.kingdoms.scheduler.DelayedRepeatingTaskprotected final org.kingdoms.data.database.sql.DatabaseTypeprotected longprotected booleanprotected final org.kingdoms.constants.namespace.NamespacedMap<DataManager<?>> -
Constructor Summary
ConstructorsConstructorDescriptionDataCenter(org.kingdoms.constants.namespace.Namespace namespace, org.kingdoms.data.database.sql.DatabaseType databaseType, Duration autoSaveInterval, boolean staticCache, boolean temporary, boolean smartSaving) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()<K,T extends KeyedKingdomsObject<K>>
KeyedKingdomsDatabase<K, T> constructDatabase(String name, String table, org.kingdoms.data.handlers.abstraction.KeyedDataHandler<K, T> dataHandler) <T extends KingdomsObject>
SingularKingdomsDatabase<T> constructDatabase(String name, String table, org.kingdoms.data.handlers.abstraction.SingularDataHandler<T> dataHandler) protected abstract <T extends KingdomsObject>
KingdomsDatabase<T> constructDatabase0(String name, String table, org.kingdoms.data.handlers.abstraction.DataHandler<T> dataHandler) org.kingdoms.data.database.sql.DatabaseTypelongorg.kingdoms.constants.namespace.NamespacedMap<DataManager<?>> booleanvoid<T extends DataManager<?>>
Tregister(T dataManager) voidsaveAll(DataCenter.SaveType saveType) voidMethods inherited from class org.kingdoms.data.managers.BaseDataManager
ensureOpen, getAutoSaveInterval, getNamespace, getShouldSaveData, isCacheStatic, isClosed, isSmartSaving, isTemporary, setShouldSaveData
-
Field Details
-
databaseType
protected final org.kingdoms.data.database.sql.DatabaseType databaseType -
lastSignalledSave
protected long lastSignalledSave -
registry
-
loadedInitials
protected boolean loadedInitials -
autoSaveTask
protected final org.kingdoms.scheduler.DelayedRepeatingTask autoSaveTask
-
-
Constructor Details
-
DataCenter
@Internal public DataCenter(org.kingdoms.constants.namespace.Namespace namespace, org.kingdoms.data.database.sql.DatabaseType databaseType, Duration autoSaveInterval, boolean staticCache, boolean temporary, boolean smartSaving)
-
-
Method Details
-
hasLoadedInitials
@Internal public boolean hasLoadedInitials() -
register
-
onDisable
@Internal public void onDisable()- Specified by:
onDisablein classorg.kingdoms.data.managers.BaseDataManager
-
saveAll
-
getRegistry
-
constructDatabase
public <K,T extends KeyedKingdomsObject<K>> KeyedKingdomsDatabase<K,T> constructDatabase(String name, String table, org.kingdoms.data.handlers.abstraction.KeyedDataHandler<K, T> dataHandler) -
constructDatabase
public <T extends KingdomsObject> SingularKingdomsDatabase<T> constructDatabase(String name, String table, org.kingdoms.data.handlers.abstraction.SingularDataHandler<T> dataHandler) -
getDatabaseType
public org.kingdoms.data.database.sql.DatabaseType getDatabaseType() -
constructDatabase0
protected abstract <T extends KingdomsObject> KingdomsDatabase<T> constructDatabase0(String name, String table, org.kingdoms.data.handlers.abstraction.DataHandler<T> dataHandler) -
getAllDataManagers
-
signalFullSave
public void signalFullSave() -
getLastSignalledSave
public long getLastSignalledSave() -
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classorg.kingdoms.data.managers.BaseDataManager
-