Interface ValueReference<T>

  • Type Parameters:
    T - The type of value to return
    All Superinterfaces:
    Publisher<T>

    public interface ValueReference<T>
    extends Publisher<T>
    A pointer to a node within a configuration tree.

    This value will update automatically with changes to the underlying configuration file. Subscribers will be provided the current value upon subscription, followed by any changes.

    • Method Detail

      • get

        @Nullable T get()
        Get the current value at this node

        Any deserialization failures will be submitted to the owning ConfigurationReference's error callback

        Returns:
        the deserialized value, or null if deserialization fails.
      • set

        boolean set​(@Nullable T value)
        Set the new value of this node. The configuration won't be saved.

        Any serialization errors will be provided to the error callback of the owning ConfigurationReference

        Parameters:
        value - The value
        Returns:
        true if successful, false if serialization fails
      • setAndSave

        boolean setAndSave​(@Nullable T value)
        Set the new value of this node and save the underlying configuration

        Any serialization errors will be provided to the error callback of the owning ConfigurationReference

        Parameters:
        value - The value
        Returns:
        true if successful, false if serialization fails
      • setAndSaveAsync

        Publisher<BooleansetAndSaveAsync​(@Nullable T value)
        Set the new value of this node and save the underlying configuration asynchronously on the executor of the owning ConfigurationReference

        Any serialization errors will be submitted to subscribers of the returned Publisher

        Parameters:
        value - The value
        Returns:
        true if successful, false if serialization fails
      • update

        boolean update​(Function<@Nullable T,​? extends T> action)
        Update this value and the underlying node, without saving.

        Any serialization errors will be provided to the error callback of the owning ConfigurationReference

        Parameters:
        action - to transform this node's value
        Returns:
        whether this update was successful
      • updateAsync

        Publisher<BooleanupdateAsync​(Function<T,​? extends T> action)
        Update, performing the action and save on the executor of the owning ConfigurationReference. Any errors that occur while saving will be passed along to any subscribers.

        The updated value will only be exposed if the changes are successful.

        Parameters:
        action - to transform this node's value
        Returns:
        whether this update was successful