Interface Mutable<T>

  • Type Parameters:
    T - the type to wrap.
    All Superinterfaces:
    java.util.function.Supplier<T>
    All Known Implementing Classes:
    MutableBoolean, MutableByte, MutableDouble, MutableFloat, MutableInt, MutableLong, MutableObject, MutableShort

    public interface Mutable<T>
    extends java.util.function.Supplier<T>
    Provides mutable access to a value.

    Mutable is used as a generic interface to the implementations in this package.

    A typical use case would be to enable a primitive or string to be passed to a method and allow that method to effectively change the value of the primitive/object. Another use case is to store a frequently changing primitive in a collection (for example a total in a map) without needing to create new Integer/Long wrapper objects.

    Since:
    2.1
    • Method Detail

      • get

        default T get()
        Gets the value of this mutable.
        Specified by:
        get in interface java.util.function.Supplier<T>
        Returns:
        the stored value.
        Since:
        3.18.0
      • getValue

        @Deprecated
        T getValue()
        Deprecated.
        Use get().
        Gets the value of this mutable.
        Returns:
        the stored value
      • setValue

        void setValue​(T value)
        Sets the value of this mutable.
        Parameters:
        value - the value to store
        Throws:
        java.lang.NullPointerException - if the object is null and null is invalid.
        java.lang.ClassCastException - if the type is invalid.