Class ConfigManager<T extends Serializable>

java.lang.Object
net.uku3lig.ukulib.config.ConfigManager<T>
Type Parameters:
T - The type of the config

public class ConfigManager<T extends Serializable> extends Object
Manages a config, by holding it, saving it and loading it.
  • Constructor Details

    • ConfigManager

      public ConfigManager(ConfigSerializer<T> serializer, T config)
      Creates a manager.
      Parameters:
      serializer - The serializer
      config - The initial config
    • ConfigManager

      public ConfigManager(ConfigSerializer<T> serializer)
      Creates a manager which provides an initial config by deserializing the file.
      Parameters:
      serializer - The serializer
  • Method Details

    • createDefault

      public static <T extends Serializable> ConfigManager<T> createDefault(Class<T> configClass, String name)
      Creates a default config manager, with a default config serializer. The config will be saved to and read from ./config/[name].toml (without the brackets).
      Type Parameters:
      T - The type of the config
      Parameters:
      configClass - The class of the config
      name - The name of the config, used for the filename
      Returns:
      The generated config manager
    • saveConfig

      public void saveConfig()
      Saves the stored config.
    • replaceConfig

      public void replaceConfig(T newConfig)
      Replaces the current config with a new one, serializing it in the process.
      Parameters:
      newConfig - The new config
    • resetConfig

      public void resetConfig()
      Resets the config to its default, from a default provided by the ConfigSerializer.
    • getConfig

      public T getConfig()
      The config held by the manager.
      Returns:
      The config