T - public class ReloadNotifierImpl<T> extends java.lang.Object implements ConfijReloadNotifier<T>
The class is internally thread-safe, but if a config is reloaded before all handlers are registered it will crash out.
ConfijReloadNotifier.AtomicReferenceReloadHandler<X>| Constructor and Description |
|---|
ReloadNotifierImpl() |
| Modifier and Type | Method and Description |
|---|---|
java.util.Optional<ConfijReloadHandler.ReloadEvent<T>> |
configReloaded(@NonNull BindingResult<T> newBindingResult) |
protected <X> void |
findSameValue(BindingResult<?> current,
X onConfigObject,
java.util.Set<BindingResult<X>> results) |
protected void |
maybeNotify(ConfijReloadHandler.ReloadEvent reloadEvent) |
protected <X> @NonNull java.net.URI |
mustFindUniqueConfigObject(X onConfigObject) |
protected <X> java.util.Optional<ConfijReloadHandler.ReloadEvent<X>> |
notifyAllChangedValues(java.time.Instant timestamp,
BindingResult<X> oldBindingResult,
BindingResult<X> newBindingResult) |
<X> void |
registerReloadHandler(@NonNull ConfijReloadHandler<X> childReloadHandler,
@NonNull java.lang.Object parent,
java.lang.String childPath,
java.lang.String... childPaths) |
<X> void |
registerReloadHandler(@NonNull ConfijReloadHandler<X> reloadHandler,
X onConfigObject)
Listen for changes on a config object.
|
protected void |
registerReloadHandlerInternal(ConfijReloadHandler<?> reloadHandler,
java.lang.Object onConfigObject,
java.lang.String... childPaths) |
protected <X> void |
registerReloadHandlerOnUri(@NonNull java.net.URI nodeURI,
@NonNull ConfijReloadHandler<X> reloadHandler) |
void |
registerRootReloadHandler(@NonNull ConfijReloadHandler<T> reloadHandler) |
protected static java.util.Map<java.net.URI,BindingResult<?>> |
toChildMappings(BindingResult<?> bindingResult) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitregisterAtomicReferenceprotected static java.util.Map<java.net.URI,BindingResult<?>> toChildMappings(BindingResult<?> bindingResult)
public java.util.Optional<ConfijReloadHandler.ReloadEvent<T>> configReloaded(@NonNull @NonNull BindingResult<T> newBindingResult)
protected void maybeNotify(ConfijReloadHandler.ReloadEvent reloadEvent)
protected <X> java.util.Optional<ConfijReloadHandler.ReloadEvent<X>> notifyAllChangedValues(java.time.Instant timestamp, BindingResult<X> oldBindingResult, BindingResult<X> newBindingResult)
public void registerRootReloadHandler(@NonNull
@NonNull ConfijReloadHandler<T> reloadHandler)
registerRootReloadHandler in interface ConfijReloadNotifier<T>public <X> void registerReloadHandler(@NonNull
@NonNull ConfijReloadHandler<X> childReloadHandler,
@NonNull
@NonNull java.lang.Object parent,
java.lang.String childPath,
java.lang.String... childPaths)
registerReloadHandler in interface ConfijReloadNotifier<T>public <X> void registerReloadHandler(@NonNull
@NonNull ConfijReloadHandler<X> reloadHandler,
@NonNull
X onConfigObject)
ConfijBuilder.build().registerReloadHandler in interface ConfijReloadNotifier<T>X - the config typereloadHandler - handler to be called when a config object or one of it's children (nested objects) changesonConfigObject - the config object on which to listen for changes. no primitives nor cached/reused types.protected void registerReloadHandlerInternal(ConfijReloadHandler<?> reloadHandler, java.lang.Object onConfigObject, java.lang.String... childPaths)
@NonNull protected <X> @NonNull java.net.URI mustFindUniqueConfigObject(X onConfigObject)
protected <X> void registerReloadHandlerOnUri(@NonNull
@NonNull java.net.URI nodeURI,
@NonNull
@NonNull ConfijReloadHandler<X> reloadHandler)
protected <X> void findSameValue(BindingResult<?> current, @NonNull X onConfigObject, java.util.Set<BindingResult<X>> results)