Module io.github.mmm.property
Package io.github.mmm.property.container
Interface WritableContainerProperty<V,E>
-
- All Superinterfaces:
EventSource<ObservableEvent<V>,ObservableEventListener<? super V>>
,MarshallableObject
,Marshaller<Object>
,Marshalling<Object>
,MarshallingObject
,ObservableValue<V>
,PropertyPath<V>
,ReadableContainerProperty<V,E>
,ReadableContainerValue<V,E>
,ReadableObjectValue<V>
,ReadableProperty<V>
,ReadableTypedObjectValue<V>
,ReadableTypedValue<V>
,ReadableValue<V>
,Supplier<V>
,TypedPropertyPath<V>
,UnmarshallableObject
,Unmarshaller<Object>
,Validatable
,WritableContainerValue<V,E>
,WritableObjectValue<V>
,WritableObservableValue<V>
,WritableProperty<V>
,WritableValue<V>
- All Known Subinterfaces:
io.github.mmm.property.container.collection.WritableCollectionProperty<V,E>
,WritableListProperty<E>
,WritableMapProperty<K,V>
,WritableSetProperty<E>
- All Known Implementing Classes:
io.github.mmm.property.container.collection.CollectionProperty
,ContainerProperty
,ListProperty
,MapProperty
,SetProperty
public interface WritableContainerProperty<V,E> extends ReadableContainerProperty<V,E>, WritableProperty<V>, WritableContainerValue<V,E>
WritableProperty
with containervalue
.- Since:
- 1.0.0
- See Also:
ReadableContainerProperty
-
-
Field Summary
-
Fields inherited from interface io.github.mmm.property.container.ReadableContainerProperty
METADATA_KEY_COMPONENT_PROPERTY
-
Fields inherited from interface io.github.mmm.property.WritableProperty
NO_PROPERTIES
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ChangeAwareContainer<E,?,?>
getChangeAwareValue()
WritableProperty<E>
getValueProperty()
boolean
isChangeAware()
-
Methods inherited from interface io.github.mmm.event.EventSource
addListener, addListener, addWeakListener, removeListener
-
Methods inherited from interface io.github.mmm.marshall.MarshallableObject
write, writeObject
-
Methods inherited from interface io.github.mmm.value.observable.ObservableValue
toString
-
Methods inherited from interface io.github.mmm.property.container.ReadableContainerProperty
emptyProperty, sizeProperty
-
Methods inherited from interface io.github.mmm.value.observable.container.ReadableContainerValue
isEmpty, size
-
Methods inherited from interface io.github.mmm.value.observable.object.ReadableObjectValue
getSafe, getValue
-
Methods inherited from interface io.github.mmm.property.ReadableProperty
getMetadata, getName, isReadOnly, isTransient, isValid
-
Methods inherited from interface io.github.mmm.value.ReadableTypedValue
getValueClass
-
Methods inherited from interface io.github.mmm.value.ReadableValue
get
-
Methods inherited from interface io.github.mmm.marshall.UnmarshallableObject
read, readObject
-
Methods inherited from interface io.github.mmm.validation.Validatable
validate
-
Methods inherited from interface io.github.mmm.value.observable.container.WritableContainerValue
getOrCreate
-
Methods inherited from interface io.github.mmm.value.observable.object.WritableObjectValue
setValue
-
Methods inherited from interface io.github.mmm.value.observable.WritableObservableValue
bindOneWay, bindTwoWay, isBoundOneWay, unbindOneWay, unbindTwoWay
-
Methods inherited from interface io.github.mmm.property.WritableProperty
copy, getReadOnly
-
Methods inherited from interface io.github.mmm.value.WritableValue
set
-
-
-
-
Method Detail
-
isChangeAware
boolean isChangeAware()
- Returns:
true
ifchange aware value
has been initialized,false
otherwise.
-
getChangeAwareValue
ChangeAwareContainer<E,?,?> getChangeAwareValue()
- Returns:
- the
value
asChangeAwareContainer
. Will be initialized on the first call of this method. Unlessinitialized
, a container property is lightweight just as other regular properties. Once this method was called, theChangeAwareContainer
is initialized and triggers change events for modifications of the container instance itself. Calls toWritableValue.set(Object)
will implicitly change thisChangeAwareContainer
such that in only contains what the provided new value contains. The instance of theChangeAwareContainer
returned by this method always remains the same.
-
getValueProperty
WritableProperty<E> getValueProperty()
- Specified by:
getValueProperty
in interfaceReadableContainerProperty<V,E>
- Returns:
- the
ReadableProperty
representing the type of the values (e.g. map values or collection elements) contained in the property containervalue
.
-
-