Module io.github.mmm.bean
Package io.github.mmm.bean.property
Class PropertyFactoryBean<V extends WritableBean>
- java.lang.Object
-
- io.github.mmm.property.factory.AbstractPropertyFactory<V,BeanProperty<V>>
-
- io.github.mmm.bean.property.PropertyFactoryBean<V>
-
- Type Parameters:
V- type of thebean.
- All Implemented Interfaces:
PropertyFactory<V,BeanProperty<V>>
public class PropertyFactoryBean<V extends WritableBean> extends AbstractPropertyFactory<V,BeanProperty<V>>
Implementation ofPropertyFactoryforBeanProperty.- Since:
- 1.0.0
-
-
Constructor Summary
Constructors Constructor Description PropertyFactoryBean()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BeanProperty<V>create(String name, Class<? extends V> valueClass, PropertyMetadata<V> metadata)Creates a new instance of the property.Class<BeanProperty<V>>getImplementationClass()Class<? extends ReadableProperty<V>>getReadableInterface()Class<? extends V>getValueClass()Class<? extends WritableProperty<V>>getWritableInterface()booleanisPolymorphic()
-
-
-
Method Detail
-
getValueClass
public Class<? extends V> getValueClass()
- Returns:
- the
Classof theproperty value. May benullfor a generic property.
-
getReadableInterface
public Class<? extends ReadableProperty<V>> getReadableInterface()
- Returns:
- the
Classreflecting theReadablePropertyinterface. May benullif no dedicated readable interface exists.
-
getWritableInterface
public Class<? extends WritableProperty<V>> getWritableInterface()
- Returns:
- the
Classreflecting theWritablePropertyinterface. May benullif no dedicated writable interface exists.
-
getImplementationClass
public Class<BeanProperty<V>> getImplementationClass()
- Returns:
- the
Classreflecting theWritablePropertyimplementation.
-
create
public BeanProperty<V> create(String name, Class<? extends V> valueClass, PropertyMetadata<V> metadata)
Description copied from interface:PropertyFactoryCreates a new instance of the property.- Parameters:
name- theproperty name.valueClass- thevalue class.metadata- TODO- Returns:
- the new instance of the property.
-
isPolymorphic
public boolean isPolymorphic()
- Returns:
trueifvalue classis polymorphic and also sub-types are handled by thisPropertyFactory(unless there is a more specificPropertyFactoryavailable),falseotherwise.
-
-