Interface ValueReference<T,N extends ConfigurationNode>
- Type Parameters:
T
- the type of value to returnN
- the type of node
- All Superinterfaces:
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.
- Since:
- 4.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.spongepowered.configurate.reactive.Publisher
Publisher.Cached<V>
-
Method Summary
Modifier and TypeMethodDescription@Nullable T
get()
Get the current value at this node.node()
Get the node this value reference points to.boolean
Set the new value of this node.boolean
setAndSave
(@Nullable T value) Set the new value of this node and save the underlying configuration.setAndSaveAsync
(@Nullable T value) Set the new value of this node and save the underlying configuration asynchronously on the executor of the owningConfigurationReference
.boolean
Update this value and the underlying node, without saving.updateAsync
(Function<@Nullable T, ? extends T> action) Update, performing the action and save on the executor of the owningConfigurationReference
.
-
Method Details
-
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.
- Since:
- 4.0.0
-
set
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
- Since:
- 4.0.0
-
setAndSave
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
- Since:
- 4.0.0
-
setAndSaveAsync
Set the new value of this node and save the underlying configuration asynchronously on the executor of the owningConfigurationReference
.Any serialization errors will be submitted to subscribers of the returned
Publisher
- Parameters:
value
- the value- Returns:
- true if successful, false if serialization fails
- Since:
- 4.0.0
-
update
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
- Since:
- 4.0.0
-
updateAsync
Update, performing the action and save on the executor of the owningConfigurationReference
. 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
- Since:
- 4.0.0
-
node
Get the node this value reference points to.- Returns:
- the node
- Since:
- 4.0.0
-