Package org.kingdoms.data
Class DataManager<K,T extends KingdomsObject<K>>
java.lang.Object
org.kingdoms.data.DataManager<K,T>
- Direct Known Subclasses:
KingdomManager,KingdomPlayerManager,LandManager,MessageTransferAgent,NationManager
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final PeekableMap<K,T> protected KingdomsDatabase<K,T> Improves performance mostly for land data checkups.protected static final longstatic final boolean -
Constructor Summary
ConstructorsConstructorDescriptionDataManager(String displayName, KingdomsDatabase<K, T> database) DataManager(String displayName, KingdomsDatabase<K, T> database, boolean cacheExistence) DataManager(String displayName, KingdomsDatabase<K, T> database, boolean cacheExistence, boolean timedCache) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidclear()voidcopyCacheTo(DataManager<K, T> dataManager) This method is for internal purposes only.voidvoidvoidThis method is for internal purposes only.boolean@Nullable TgetDataIfLoaded(K key) booleanvoidintloadAllData(boolean checkIfLoaded) voidloadAndSave(@NonNull K key, @NonNull T data) protected voidCan't overrideload(KingdomsObject)because this is also used inside the cache loader which automatically loads it after retrieving the data.@Nullable TvoidsaveAll(boolean smart) voidsetSavingState(boolean savingState) Signals this data manager that it should not save any data whensaveAll(boolean)with true argument is called.intsize()protected void
-
Field Details
-
SMART
public static final boolean SMART -
INTERVAL
protected static final long INTERVAL -
cache
-
doesntExist
Improves performance mostly for land data checkups. This set should not be iterated. -
database
-
-
Constructor Details
-
DataManager
-
DataManager
-
DataManager
public DataManager(String displayName, KingdomsDatabase<K, T> database, boolean cacheExistence, boolean timedCache)
-
-
Method Details
-
delete
-
getDisplayName
-
clear
public void clear() -
getDatabase
-
deleteAllData
public void deleteAllData() -
setSavingState
@Internal public void setSavingState(boolean savingState) Signals this data manager that it should not save any data whensaveAll(boolean)with true argument is called. -
copyCacheTo
This method is for internal purposes only. -
emptyCache
public void emptyCache()This method is for internal purposes only. -
loadAllData
@Internal public int loadAllData(boolean checkIfLoaded) -
load
-
autoSave
-
saveAll
public void saveAll(boolean smart) -
loadAndSave
-
getDataIfLoaded
-
isLoaded
-
onLoad
Can't overrideload(KingdomsObject)because this is also used inside the cache loader which automatically loads it after retrieving the data. -
unload
-
load
-
peek
-
exists
-
getData
-
size
public int size() -
getLoadedData
-
peekAllData
-