Package org.kingdoms.data.managers.base
Class DataManager<T extends KingdomsObject>
java.lang.Object
org.kingdoms.data.managers.BaseDataManager
org.kingdoms.data.managers.base.DataManager<T>
- All Implemented Interfaces:
Closeable,AutoCloseable,org.kingdoms.constants.namespace.Namespaced
- Direct Known Subclasses:
KeyedDataManager,SingularDataManager
public abstract class DataManager<T extends KingdomsObject>
extends org.kingdoms.data.managers.BaseDataManager
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDataManager(org.kingdoms.constants.namespace.Namespace namespace, org.kingdoms.data.managers.BaseDataManager inherit) -
Method Summary
Modifier and TypeMethodDescriptionfinal intautoSave()abstract voidThis method is for internal purposes only.voidclose()abstract voidcopyAllDataTo(DataManager<T> dataManager) This method is for internal purposes only.abstract voidabstract KingdomsDatabase<T> abstract Collection<T> Get all data that are currently loaded into the cache.abstract voidloadAllData(boolean checkIfLoaded) abstract intThe amount of data that are currently loaded.voidprotected TCan't overrideKeyedDataManager.cache(KeyedKingdomsObject, boolean)because this is also used inside the cache loader which automatically loads it after retrieving the data.abstract Collection<T> abstract intsaveAll(boolean smart) protected voidsaveObjectState(T data, boolean forceSave) Called after loading the data for the first time.final voidsetSavingState(boolean savingState) When false, signals this data manager that it should not save any data whensaveAll(boolean)with true argument is called.toString()protected voidMethods inherited from class org.kingdoms.data.managers.BaseDataManager
ensureOpen, getAutoSaveInterval, getNamespace, getShouldSaveData, isCacheStatic, isClosed, isSmartSaving, isTemporary, setShouldSaveData
-
Field Details
-
savingState
protected boolean savingState
-
-
Constructor Details
-
DataManager
public DataManager(org.kingdoms.constants.namespace.Namespace namespace, org.kingdoms.data.managers.BaseDataManager inherit)
-
-
Method Details
-
saveObjectState
Called after loading the data for the first time. -
getDatabase
-
deleteAllData
public abstract void deleteAllData() -
setSavingState
@Internal public final void setSavingState(boolean savingState) When false, signals this data manager that it should not save any data whensaveAll(boolean)with true argument is called. -
copyAllDataTo
This method is for internal purposes only. -
clearCache
@Internal public abstract void clearCache()This method is for internal purposes only. -
autoSave
@Internal public final int autoSave() -
saveAll
public abstract int saveAll(boolean smart) - Returns:
- the number of saved data.
-
onLoad
Can't overrideKeyedDataManager.cache(KeyedKingdomsObject, boolean)because this is also used inside the cache loader which automatically loads it after retrieving the data. -
onDisable
public void onDisable()- Specified by:
onDisablein classorg.kingdoms.data.managers.BaseDataManager
-
unload
-
loadedCount
public abstract int loadedCount()The amount of data that are currently loaded. Sometimes this number is an estimate. For total number of data, usegetDatabase()->KingdomsDatabase.count(). -
loadAllData
public abstract void loadAllData(boolean checkIfLoaded) -
getLoadedData
Get all data that are currently loaded into the cache. -
peekAllData
-
toString
-
close
@Internal public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classorg.kingdoms.data.managers.BaseDataManager
-