java.lang.Object
io.github.mmm.event.AbstractEventSource<ObservableEvent<V>,ObservableEventListener<? super V>>
io.github.mmm.value.observable.AbstractObservableValue<V>
io.github.mmm.value.observable.AbstractWritableObservableValue<V>
io.github.mmm.property.Property<V>
io.github.mmm.property.container.ContainerProperty<V,E>
- All Implemented Interfaces:
io.github.mmm.event.EventSource<ObservableEvent<V>,
,ObservableEventListener<? super V>> io.github.mmm.marshall.MarshallableObject
,io.github.mmm.marshall.Marshaller<Object>
,io.github.mmm.marshall.Marshalling<Object>
,io.github.mmm.marshall.MarshallingObject
,io.github.mmm.marshall.UnmarshallableObject
,io.github.mmm.marshall.Unmarshaller<Object>
,AttributeReadOnly
,ReadableContainerProperty<V,
,E> WritableContainerProperty<V,
,E> ReadableProperty<V>
,WritableProperty<V>
,Validatable
,io.github.mmm.value.CriteriaObject<V>
,ReadableContainerValue<V,
,E> WritableContainerValue<V,
,E> ReadableObjectValue<V>
,ReadableTypedObjectValue<V>
,WritableObjectValue<V>
,ObservableValue<V>
,WritableObservableValue<V>
,io.github.mmm.value.PropertyPath<V>
,io.github.mmm.value.ReadablePath
,io.github.mmm.value.ReadableTypedValue<V>
,io.github.mmm.value.ReadableValue<V>
,io.github.mmm.value.TypedPropertyPath<V>
,io.github.mmm.value.WritableValue<V>
,Cloneable
,Comparable<ReadableProperty<?>>
,Supplier<V>
- Direct Known Subclasses:
CollectionProperty
,MapProperty
public abstract class ContainerProperty<V,E>
extends Property<V>
implements WritableContainerProperty<V,E>
Implementation of
WritableContainerProperty
.- Since:
- 1.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.github.mmm.value.ReadablePath
io.github.mmm.value.ReadablePath.PathBuilder
-
Field Summary
FieldsFields inherited from interface io.github.mmm.property.container.ReadableContainerProperty
METADATA_KEY_COMPONENT_PROPERTY
Fields inherited from interface io.github.mmm.property.WritableProperty
NO_PROPERTIES
-
Constructor Summary
ConstructorsConstructorDescriptionContainerProperty
(String name, WritableProperty<E> valueProperty) The constructor.ContainerProperty
(String name, WritableProperty<E> valueProperty, PropertyMetadata<V> metadata) The constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Invalidates internal properties such assizeProperty()
andemptyProperty()
.protected boolean
isValueEqual
(V newValue, V oldValue) boolean
Methods inherited from class io.github.mmm.property.Property
clearValidationResult, clone, compareTo, copy, doValidate, doValidate, equals, get, getMetadata, getName, getReadOnly, hashCode, isReadOnly, isSensitive, isValid, read, readObject, requireWritable, setWithChange, toString, validate, write, writeObject
Methods inherited from class io.github.mmm.value.observable.AbstractWritableObservableValue
bindInternal, bindOneWay, bindTwoWay, doGet, doSet, isBoundOneWay, set, unbindOneWay, unbindTwoWay
Methods inherited from class io.github.mmm.value.observable.AbstractObservableValue
addListener, fireChange, fireEvent, fireEvent, fireEventFor, fireEventFor, fireEventWithOldValue, hasChangeAwareListeners, invalidate, removeListener, toString
Methods inherited from class io.github.mmm.event.AbstractEventSource
getEventAdapter, hasListeners
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.github.mmm.property.AttributeReadOnly
isReadOnly
Methods inherited from interface java.lang.Comparable
compareTo
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.value.PropertyPath
pathSegment
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.value.ReadablePath
path, path, path
Methods inherited from interface io.github.mmm.property.ReadableProperty
computeSize, count, eq, eq, getMetadata, getName, getQualifiedName, getQualifiedName, getTypeMapper, isMandatory, isTransient, isValid, neq, neq, parentPath
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, validateOrThrow
Methods inherited from interface io.github.mmm.property.container.WritableContainerProperty
getChangeAwareValue, isChangeAware
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
-
Field Details
-
valueProperty
- See Also:
-
-
Constructor Details
-
ContainerProperty
The constructor.- Parameters:
name
- thename
.valueProperty
- thevalue property
.
-
ContainerProperty
public ContainerProperty(String name, WritableProperty<E> valueProperty, PropertyMetadata<V> metadata) The constructor.- Parameters:
name
- thename
.valueProperty
- thevalue property
.metadata
- themetadata
.
-
-
Method Details
-
isValueMutable
public boolean isValueMutable()- Overrides:
isValueMutable
in classProperty<V>
- Returns:
true
if thevalue type
of this property is mutable (e.g.Collection
orMap
),false
otherwise (immutable datatype such asString
,Boolean
,Number
,Temporal
, etc.).
-
isValueEqual
- Overrides:
isValueEqual
in classAbstractWritableObservableValue<V>
-
getValueProperty
- Specified by:
getValueProperty
in interfaceReadableContainerProperty<V,
E> - Specified by:
getValueProperty
in interfaceWritableContainerProperty<V,
E> - Returns:
- the
ReadableProperty
representing the type of the values (e.g. map values or collection elements) contained in the property containervalue
.
-
sizeProperty
- Specified by:
sizeProperty
in interfaceReadableContainerProperty<V,
E> - Returns:
- an
ReadableIntegerProperty
that represents theCollection.size()
property of thecontainer
.
-
emptyProperty
- Specified by:
emptyProperty
in interfaceReadableContainerProperty<V,
E> - Returns:
- an
ReadableBooleanProperty
that represents theempty
property of thecontainer
.
-
invalidateProperties
protected void invalidateProperties()Invalidates internal properties such assizeProperty()
andemptyProperty()
.
-