Class ClajConfig.Field<T>

java.lang.Object
com.xpdustry.claj.server.ClajConfig.Field<T>
All Implemented Interfaces:
Autosaver.Saveable
Direct Known Subclasses:
ClajConfig.SetField
Enclosing class:
ClajConfig

public static class ClajConfig.Field<T> extends Object implements Autosaver.Saveable
  • Field Details

    • key

      public final String key
    • desc

      public final String desc
    • defaultValue

      protected final T defaultValue
    • type

      public final Class<T> type
    • changed

      protected arc.func.Cons<T> changed
    • value

      protected T value
    • loaded

      protected boolean loaded
    • modified

      protected boolean modified
  • Constructor Details

    • Field

      public Field(String key, String desc, T def)
    • Field

      public Field(String key, String desc, T def, arc.func.Cons<T> changed)
    • Field

      public Field(String key, String desc, T def, boolean register)
    • Field

      public Field(String key, String desc, T def, arc.func.Cons<T> changed, boolean register)
  • Method Details

    • name

      public String name()
      Description copied from interface: Autosaver.Saveable
      Used for logging.
      Specified by:
      name in interface Autosaver.Saveable
      Returns:
      "field '" + key + "'".
    • modified

      public boolean modified()
      Specified by:
      modified in interface Autosaver.Saveable
    • checkValue

      protected T checkValue(T value)
    • loadValue

      protected T loadValue()
    • reload

      public void reload()
    • load

      public void load()
    • saveValue

      protected void saveValue()
    • save

      public void save()
      Specified by:
      save in interface Autosaver.Saveable
    • get

      public T get()
    • set

      public void set(T value)
    • notifyChange

      protected void notifyChange()
    • getDefault

      public T getDefault()
    • setDefault

      public void setDefault()
    • isDefault

      public boolean isDefault()
    • changed

      public void changed(arc.func.Cons<T> changed)
      Adds changed callback.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • decodeValue

      protected T decodeValue(String value)
    • decode

      public T decode(String value) throws IllegalArgumentException
      Tries to decode the value from a String by parsing and decoding as Json.
      Throws:
      IllegalArgumentException - if decoding failed, or decoded type is not the same.