Class UnmodifiableRef<T>

java.lang.Object
alexiil.mc.lib.attributes.misc.UnmodifiableRef<T>
All Implemented Interfaces:
Reference<T>

public final class UnmodifiableRef<T> extends Object implements Reference<T>
A Reference that may be obtained through get(), but never allows the value to be changed in set(Object).
  • Field Details

    • obj

      public final T obj
  • Constructor Details

    • UnmodifiableRef

      public UnmodifiableRef(T obj)
  • Method Details

    • get

      public T get()
      Specified by:
      get in interface Reference<T>
      Returns:
      The object referenced. Note that you should generally not modify the returned value directly - instead copy it before passing it to Reference.set(Object) or Reference.isValid(Object) to see if your modifications are permitted.
    • set

      public boolean set(T value)
      Specified by:
      set in interface Reference<T>
      Returns:
      True if the new value was accepted, false otherwise.
    • isValid

      public boolean isValid(T value)
      Specified by:
      isValid in interface Reference<T>
      Returns:
      True if Reference.set(Object) was called with the same value.