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 ofPropertyFactory
forBeanProperty
.- 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()
boolean
isPolymorphic()
-
-
-
Method Detail
-
getValueClass
public Class<? extends V> getValueClass()
- Returns:
- the
Class
of theproperty value
. May benull
for a generic property.
-
getReadableInterface
public Class<? extends ReadableProperty<V>> getReadableInterface()
- Returns:
- the
Class
reflecting theReadableProperty
interface. May benull
if no dedicated readable interface exists.
-
getWritableInterface
public Class<? extends WritableProperty<V>> getWritableInterface()
- Returns:
- the
Class
reflecting theWritableProperty
interface. May benull
if no dedicated writable interface exists.
-
getImplementationClass
public Class<BeanProperty<V>> getImplementationClass()
- Returns:
- the
Class
reflecting theWritableProperty
implementation.
-
create
public BeanProperty<V> create(String name, Class<? extends V> valueClass, PropertyMetadata<V> metadata)
Description copied from interface:PropertyFactory
Creates 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:
true
ifvalue class
is polymorphic and also sub-types are handled by thisPropertyFactory
(unless there is a more specificPropertyFactory
available),false
otherwise.
-
-