-
- All Superinterfaces:
MarshallableObject
,Marshaller<Object>
,Marshalling<Object>
,MarshallingObject
,ReadableBean
,UnmarshallableObject
,Unmarshaller<Object>
,Validatable
,WritableBean
- All Known Implementing Classes:
AbstractVirtualBean
,AdvancedBean
public interface VirtualBean extends WritableBean
WritableBean
that may bevirtual
so it can potentially represent types that do not exist as JavaClass
. Further, it has aprototype
that is typicallydynamic
. If aProperty
is added to the prototype, it will automatically be available by all instances andsubclasses
.
-
-
Field Summary
-
Fields inherited from interface io.github.mmm.bean.ReadableBean
PROPERTY_TYPE
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static <B extends VirtualBean>
BgetPrototype(B bean)
BeanClass
getType()
default boolean
isInstanceOf(BeanClass beanClass)
-
Methods inherited from interface io.github.mmm.marshall.MarshallableObject
writeObject
-
Methods inherited from interface io.github.mmm.bean.ReadableBean
copy, copy, get, getPropertyCount, getPropertyNameForAlias, isDynamic, isEqualTo, isPolymorphic, isPrototype, isReadOnly, newInstance, validate, write
-
Methods inherited from interface io.github.mmm.marshall.UnmarshallableObject
readObject
-
Methods inherited from interface io.github.mmm.bean.WritableBean
addProperty, createProperty, createProperty, getOrCreateProperty, getOrCreateProperty, getProperties, getProperty, getRequiredProperty, read, set, set, set
-
-
-
-
Method Detail
-
getType
BeanClass getType()
-
isInstanceOf
default boolean isInstanceOf(BeanClass beanClass)
- Parameters:
beanClass
- theBeanClass
to check.- Returns:
true
if thisVirtualBean
is an instance of the givenBeanClass
,false
otherwise.
-
getPrototype
static <B extends VirtualBean> B getPrototype(B bean)
- Type Parameters:
B
- type of theVirtualBean
.- Parameters:
bean
- theVirtualBean
to get the prototype of.- Returns:
- the
prototype
of the givenVirtualBean
.
-
-