Module io.github.mmm.bean
Package io.github.mmm.bean.property
Class BeanProperty<V extends WritableBean>
- 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.bean.property.BeanProperty<V>
-
- All Implemented Interfaces:
ReadableBeanProperty<V>,WritableBeanProperty<V>,EventSource<ObservableEvent<V>,ObservableEventListener<? super V>>,MarshallableObject,Marshaller<Object>,Marshalling<Object>,MarshallingObject,UnmarshallableObject,Unmarshaller<Object>,ReadableObjectProperty<V>,ReadableProperty<V>,WritableProperty<V>,Validatable,Expression<V>,ObservableObjectValue<V>,ReadableObjectValue<V>,WritableObjectValue<V>,ObservableValue<V>,WritableObservableValue<V>,PropertyPath<V>,ReadableTypedValue<V>,ReadableValue<V>,TypedPropertyPath<V>,WritableValue<V>,Cloneable,Supplier<V>
public class BeanProperty<V extends WritableBean> extends Property<V> implements WritableBeanProperty<V>
Implementation ofBeanProperty.- Since:
- 1.0.0
-
-
Field Summary
-
Fields inherited from interface io.github.mmm.property.WritableProperty
NO_PROPERTIES
-
-
Constructor Summary
Constructors Constructor Description BeanProperty(String name, Class<V> valueClass)The constructor.BeanProperty(String name, Class<V> valueClass, PropertyMetadata<V> metadata)The constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected VdoGet()protected voiddoSet(V newValue)Class<V>getValueClass()booleanisValueMutable()-
Methods inherited from class io.github.mmm.property.Property
clearValidationResult, clone, copy, doValidate, doValidate, equals, get, getMetadata, getName, getReadOnly, hashCode, isReadOnly, isValid, read, readObject, requireWritable, setWithChange, toString, validate, write, writeObject
-
Methods inherited from class io.github.mmm.value.observable.AbstractWritableObservableValue
bindInternal, bindOneWay, bindTwoWay, isBoundOneWay, isValueEqual, 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.event.EventSource
addListener, addListener, addWeakListener, removeListener
-
Methods inherited from interface io.github.mmm.value.observable.Expression
asString, dispose, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotNull, isNull
-
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.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.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.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
-
-
-
-
Constructor Detail
-
BeanProperty
public BeanProperty(String name, Class<V> valueClass)
The constructor.- Parameters:
name- thename.valueClass- thevalue class.
-
BeanProperty
public BeanProperty(String name, Class<V> valueClass, PropertyMetadata<V> metadata)
The constructor.- Parameters:
name- thename.valueClass- thevalue class.metadata- themetadata.
-
-
Method Detail
-
isValueMutable
public boolean isValueMutable()
- Overrides:
isValueMutablein classProperty<V extends WritableBean>- Returns:
trueif thevalue typeof this property is mutable (e.g.CollectionorMap),falseotherwise (immutable datatype such asString,Boolean,Number,Temporal, etc.).
-
doGet
protected V doGet()
- Specified by:
doGetin classAbstractWritableObservableValue<V extends WritableBean>- Returns:
- the internal
value.
-
doSet
protected void doSet(V newValue)
- Specified by:
doSetin classAbstractWritableObservableValue<V extends WritableBean>- Parameters:
newValue- the newvalueto set.- See Also:
AbstractWritableObservableValue.set(Object)
-
getValueClass
public Class<V> getValueClass()
- Specified by:
getValueClassin interfaceReadableTypedValue<V extends WritableBean>- Returns:
- the
Classreflecting the type ofvaluesthat can be stored by this property. Even if thevalueisnullthe property must support returning the property class.
-
-