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
  • Field Details

    • databaseType

      protected final org.kingdoms.data.database.sql.DatabaseType databaseType
    • lastSignalledSave

      protected long lastSignalledSave
    • registry

      protected final org.kingdoms.constants.namespace.NamespacedMap<DataManager<?>> 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

      public <T extends DataManager<?>> T register(T dataManager)
    • onDisable

      @Internal public void onDisable()
      Specified by:
      onDisable in class org.kingdoms.data.managers.BaseDataManager
    • saveAll

      public void saveAll(DataCenter.SaveType saveType)
    • getRegistry

      public org.kingdoms.constants.namespace.NamespacedMap<DataManager<?>> 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

      public Collection<DataManager<?>> getAllDataManagers()
    • signalFullSave

      public void signalFullSave()
    • getLastSignalledSave

      public long getLastSignalledSave()
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class org.kingdoms.data.managers.BaseDataManager