Interface ObservableProperties
-
- All Superinterfaces:
org.refcodes.structure.CanonicalMap
,org.refcodes.structure.Containable
,org.refcodes.mixin.DelimiterAccessor
,org.refcodes.structure.Dictionary<java.lang.String,java.lang.String>
,org.refcodes.mixin.Dumpable
,org.refcodes.structure.Keys<java.lang.String,java.lang.String>
,org.refcodes.observer.Observable<PropertiesObserver>
,org.refcodes.structure.PathMap<java.lang.String>
,org.refcodes.configuration.Properties
,org.refcodes.structure.PropertiesAccessorMixin
,org.refcodes.mixin.TypeAccessor<java.lang.String>
- All Known Subinterfaces:
ObservableProperties.ObservableMutableProperties
,ObservableProperties.ObservablePropertiesBuilder
,ObservableResouceProperties
,ObservableResouceProperties.ObservableMutableResourceProperties
,ObservableResouceProperties.ObservableResourcePropertiesBuilder
- All Known Implementing Classes:
AbstractObservablePropertiesBuilderDecorator
,AbstractObservableResourcePropertiesBuilderDecorator
,ObservableJavaPropertiesBuilderImpl
,ObservableJsonPropertiesBuilderImpl
,ObservablePropertiesBuilderDecorator
,ObservableResourcePropertiesBuilderDecorator
,ObservableTomlPropertiesBuilderImpl
,ObservableXmlPropertiesBuilderImpl
,ObservableYamlPropertiesBuilderImpl
public interface ObservableProperties extends org.refcodes.configuration.Properties, org.refcodes.observer.Observable<PropertiesObserver>
TheObservableProperties
representProperties
which are observable in terms of create, update and delete operations: Create: Whenever a property is created (as ofKeys.MutableValues.put(Object, Object)
) in the relatedObservableProperties
instance, then thePropertiesObserver.onPropertyCreatedEvent(PropertyCreatedEvent)
method of a registeredPropertiesObserver
instance is invoked. Update: Whenever an existing property (as ofKeys.containsKey(Object)
) is updated in the relatedObservableProperties
instance (as ofKeys.MutableValues.put(Object, Object)
or the like}, then thePropertiesObserver.onPropertyUpdatedEvent(PropertyUpdatedEvent)
method of a registeredPropertiesObserver
instance is invoked. Delete: Whenever a property is deleted (as ofMap.remove(Object)
), then thePropertiesObserver.onPropertyDeletedEvent(PropertyDeletedEvent)
method of a registeredPropertiesObserver
instance is invoked. A catch-all (lambda) for all events is provided by thePropertiesObserver
via thePropertiesObserver.onEvent(PropertyEvent)
method. You can provide a lambda expression when callingObservable.subscribeObserver(Object)
, thereby implementing this catch-all method.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ObservableProperties.ObservableMutableProperties
TheObservableProperties.ObservableMutableProperties
represent mutableObservableProperties
.static interface
ObservableProperties.ObservablePropertiesBuilder
TheObservableProperties.ObservablePropertiesBuilder
represents aObservableProperties.ObservableMutableProperties
builder.-
Nested classes/interfaces inherited from interface org.refcodes.structure.CanonicalMap
org.refcodes.structure.CanonicalMap.CanonicalMapBuilder, org.refcodes.structure.CanonicalMap.MutableCanonicalMap
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.DelimiterAccessor
org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B extends org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B>>, org.refcodes.mixin.DelimiterAccessor.DelimiterMutator, org.refcodes.mixin.DelimiterAccessor.DelimiterProperty
-
Nested classes/interfaces inherited from interface org.refcodes.structure.Dictionary
org.refcodes.structure.Dictionary.MutableDictionary<K extends java.lang.Object,V extends java.lang.Object>
-
Nested classes/interfaces inherited from interface org.refcodes.structure.Keys
org.refcodes.structure.Keys.MutableKeys<K extends java.lang.Object,V extends java.lang.Object>, org.refcodes.structure.Keys.MutableValues<K extends java.lang.Object,V extends java.lang.Object>
-
Nested classes/interfaces inherited from interface org.refcodes.structure.PathMap
org.refcodes.structure.PathMap.MutablePathMap<T extends java.lang.Object>, org.refcodes.structure.PathMap.PathMapBuilder<T extends java.lang.Object>
-
Nested classes/interfaces inherited from interface org.refcodes.configuration.Properties
org.refcodes.configuration.Properties.MutableProperties, org.refcodes.configuration.Properties.PropertiesBuilder
-
Nested classes/interfaces inherited from interface org.refcodes.structure.PropertiesAccessorMixin
org.refcodes.structure.PropertiesAccessorMixin.PropertiesBuilderMixin<T extends java.lang.Object>, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMixin, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMutatorMixin
-
-
Method Summary
-
Methods inherited from interface org.refcodes.structure.CanonicalMap
toInstance, toInstance, toType, toType
-
Methods inherited from interface org.refcodes.observer.Observable
hasObserverSubscription, subscribeObserver, unsubscribeObserver
-
Methods inherited from interface org.refcodes.structure.PathMap
directories, directories, entries, entries, fromExternalKey, get, get, getArray, getArray, getBoolean, getBoolean, getByte, getByte, getCharacter, getCharacter, getDouble, getDouble, getFloat, getFloat, getIndexes, getIndexes, getInteger, getInteger, getLong, getLong, getRootPath, getShort, getShort, hasIndexed, hasIndexed, hasParentPath, isArray, isArray, isDirectory, isEntry, isIndexed, isIndexed, isPath, isRecord, isRootPath, keySet, paths, paths, queryPaths, records, records, toDataStructure, toDataStructure, toExternalKey, toMap, toNormalizedPath, toNormalizedPath, toParentPath, toPath, toPath
-
Methods inherited from interface org.refcodes.configuration.Properties
childrenOf, containsValue, getDelimiter, getIndexed, getIndexed, getType, query, query, queryFrom, queryTo, retrieve, retrieveFrom, retrieveTo, toMap, toProperties, toPropertyPath
-
Methods inherited from interface org.refcodes.structure.PropertiesAccessorMixin
containsKey, get, getBoolean, getBoolean, getByte, getByte, getCharacter, getCharacter, getDouble, getDouble, getFloat, getFloat, getInteger, getInteger, getLong, getLong, getShort, getShort, use, useBoolean, useBoolean, useByte, useByte, useDouble, useDouble, useFloat, useFloat, useInteger, useInteger, useLong, useLong, useShort, useShort
-
-