T
- The type of the value.public interface DynamicValue<T>
A accessor for a single configured value. This can be used to support values that may change during runtime,
reconfigured or final. Hereby external code (could be Tamaya configuration listners or client code), can set a
new value. Depending on the UpdatePolicy
the new value is immedeately active or it requires an active commit
by client code. Similarly an instance also can ignore all later changes to the value.
Types of this interface can be used as injection targets in injected beans or as template resiult on configuration templates.
Modifier and Type | Method and Description |
---|---|
void |
addListener(PropertyChangeListener l)
Add a listener to be called as weak reference, when this value has been changed.
|
void |
commit()
Commits a new value that has not been committed yet, make it the new value of the instance.
|
T |
commitAndGet()
Performs a commit, if necessary, and returns the current value.
|
T |
evaluateValue()
Evaluates the current value dynamically from the underlying configuration.
|
T |
get()
If a value is present in this
DynamicValue , returns the value,
otherwise throws ConfigException . |
T |
getNewValue()
Access a new value that has not yet been committed.
|
UpdatePolicy |
getUpdatePolicy()
Access the
UpdatePolicy used for updating this value. |
boolean |
isPresent()
Return
true if there is a value present, otherwise false . |
T |
orElse(T other)
Return the value if present, otherwise return
other . |
T |
orElseGet(ConfiguredItemSupplier<? extends T> other)
Return the value if present, otherwise invoke
other and return
the result of that invocation. |
<X extends Throwable> |
orElseThrow(ConfiguredItemSupplier<? extends X> exceptionSupplier)
Return the contained value, if present, otherwise throw an exception
to be created by the provided supplier.
|
void |
removeListener(PropertyChangeListener l)
Removes a listener to be called, when this value has been changed.
|
void |
setUpdatePolicy(UpdatePolicy updatePolicy)
Sets a new
UpdatePolicy . |
boolean |
updateValue()
Method to check for and apply a new value.
|
T commitAndGet()
DynamicValue
org.apache.tamaya.ConfigException
- if there is no value presentisPresent()
void commit()
UpdatePolicy getUpdatePolicy()
UpdatePolicy
used for updating this value.void addListener(PropertyChangeListener l)
l
- the listener, not nullvoid removeListener(PropertyChangeListener l)
l
- the listner to be removed, not nullT get()
DynamicValue
, returns the value,
otherwise throws ConfigException
.Optional
org.apache.tamaya.ConfigException
- if there is no value presentisPresent()
boolean updateValue()
UpdatePolicy
the value is immediately or deferred visible (or it may even be ignored completely).UpdatePolicy
in place.T evaluateValue()
void setUpdatePolicy(UpdatePolicy updatePolicy)
UpdatePolicy
.updatePolicy
- the new policy, not null.T getNewValue()
boolean isPresent()
true
if there is a value present, otherwise false
.true
if there is a value present, otherwise false
T orElse(T other)
other
.other
- the value to be returned if there is no value present, may
be nullother
T orElseGet(ConfiguredItemSupplier<? extends T> other)
other
and return
the result of that invocation.other
- a ConfiguredItemSupplier
whose result is returned if no value
is presentother.get()
NullPointerException
- if value is not present and other
is
null<X extends Throwable> T orElseThrow(ConfiguredItemSupplier<? extends X> exceptionSupplier) throws X extends Throwable
IllegalStateException::new
X
- Type of the exception to be thrownexceptionSupplier
- The supplier which will return the exception to
be thrownX
- if there is no value presentNullPointerException
- if no value is present and
exceptionSupplier
is nullX extends Throwable
Copyright © 2014–2016 Apache Software Foundation. All rights reserved.