Class AbstractConfigEntity.ModuleChange

java.lang.Object
com.ultikits.ultitools.abstracts.AbstractConfigEntity.ModuleChange
Enclosing class:
AbstractConfigEntity

private static final class AbstractConfigEntity.ModuleChange extends Object
One setting, or one entry of a map setting, the module changed since the last load or save: where it is in the file, what the module holds there now, and what the framework last read or wrote there.
  • Field Details

    • field

      private final Field field
    • leaf

      private final List<String> leaf
    • path

      private List<String> path
    • present

      private boolean present
    • value

      private Object value
    • effective

      private final Object effective
      The module's value at path as plain data, which becomes the setting's baseline once written. It differs from value only after writeWhole(java.lang.Object): the file then holds the read composite with one field changed (y: 64 kept as written), while the module holds its own conversion of it (64.0); recording the written text as the baseline would leave the setting "unsaved" and refuse its next module change (PR #611 local Codex run 1).
    • readPresent

      private final boolean readPresent
    • readValue

      private final Object readValue
    • required

      For a panel edit inside a composite value: the whole value the entity last read there, which the file must still hold at write time (17-65 route change, R3-01); null when the file's value is not a precondition.
    • presence

      private EntryPresence presence
      For an operator's map-entry write made under a condition: whether the entry must already be in the file, or must not be, on the read the gate verifies against (#623); null when presence is not a precondition.
  • Constructor Details

  • Method Details

    • holds

      private boolean holds(boolean isPresent, Object at, boolean wantPresent, Object want)
    • writeWhole

      private void writeWhole(Object unit)
      Writes unit - the whole composite value as last read with only the panel's fields changed - instead of the module's serialization of it, so the untouched fields keep their bytes (#609, R4-I2).
    • relocate

      private void relocate(List<String> setting)
      Addresses the change where the file being written holds the setting (setting, #612).