public class Bean extends PropertyComponent implements Property
Property
's into a bean object, which
may also be a property of a parent bean object itself.
A bean may only have children that implement Property
.
createMissingBeans
AGGREGATION_ARRAY, AGGREGATION_COLLECTION, AGGREGATION_MAP, COLLECTION, COMPLEX, MAP, SIMPLE
Constructor and Description |
---|
Bean()
Constructs a new Bean.
|
Modifier and Type | Method and Description |
---|---|
void |
clearValue(ParsingContext context)
Clears the property value.
|
Object |
createValue(ParsingContext context)
Creates the property value and returns it.
|
boolean |
defines(Object bean) |
Constructor<?> |
getConstructor()
Returns the
Constructor used to instantiate this bean object, or null
if the default no-arg constructor is used. |
Object |
getValue(ParsingContext context)
Returns the value of this property.
|
boolean |
isLazy() |
protected boolean |
isMap()
Returns whether the bean object implements
Map . |
protected boolean |
isSupportedChild(Component child)
Returns whether a node is a supported child of this node.
|
protected Object |
newInstance(ParsingContext context)
Creates a new instance of this bean object.
|
void |
registerLocals(Set<ParserLocal<?>> locals)
Called by a stream to register variables stored in the parsing context.
|
void |
setConstructor(Constructor<?> constructor)
Sets the
Constructor used to instantiate this bean object. |
void |
setLazy(boolean lazy) |
void |
setRequired(boolean required)
Sets whether this property should always be instantiated when
Property.createValue(ParsingContext) is invoked. |
void |
setValue(ParsingContext context,
Object value)
Sets the property value (before marshalling).
|
int |
type()
Returns the property type.
|
getAccessor, getType, isIdentifier, isMatchNull, isRequired, setAccessor, setIdentifier, setMatchNull, setType, toParamString
add, clone, find, getChildren, getFirst, getName, isDescendant, iterator, print, print, setName, size, sort, toString, updateReferences
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getAccessor, getName, getType, isIdentifier, setAccessor, setIdentifier, setType
forEach, spliterator
public void clearValue(ParsingContext context)
Property
Property.getValue(ParsingContext)
should
return null, or Value.MISSING
for lazy property values.clearValue
in interface Property
context
- the ParsingContext
public Object createValue(ParsingContext context)
Property
createValue
in interface Property
context
- the ParsingContext
public Object getValue(ParsingContext context)
Property
When unmarshalling, this method should return Value.MISSING
if the field
was not present in the stream. Or if present, but has no value, null should be returned.
When marshalling, this method should return Value.MISSING
for any optional
segment bound to a bean object, or null if required. Null field properties should
always return Value.MISSING
.
getValue
in interface Property
context
- the ParsingContext
Value.MISSING
if not present in the stream,
or Value.INVALID
if the field was invalidpublic void setValue(ParsingContext context, Object value)
Property
setValue
in interface Property
context
- the ParsingContext
value
- the property valueprotected Object newInstance(ParsingContext context)
context
- the ParsingContext
protected boolean isSupportedChild(Component child)
TreeNode
TreeNode.add(TreeNode)
.isSupportedChild
in class PropertyComponent
child
- the node to testpublic void setRequired(boolean required)
PropertyComponent
Property.createValue(ParsingContext)
is invoked.setRequired
in class PropertyComponent
required
- true to always instantiate this property, false otherwisepublic int type()
Property
type
in interface Property
Property.SIMPLE
, Property.COMPLEX
, Property.AGGREGATION_ARRAY
, Property.COLLECTION
,
Property.AGGREGATION_COLLECTION
, or Property.MAP
protected boolean isMap()
Map
.Map
, false otherwisepublic Constructor<?> getConstructor()
Constructor
used to instantiate this bean object, or null
if the default no-arg constructor is used.Constructor
public void setConstructor(Constructor<?> constructor)
Constructor
used to instantiate this bean object.constructor
- the Constructor
public void registerLocals(Set<ParserLocal<?>> locals)
Component
registerLocals
in class Component
locals
- set of local variablespublic boolean isLazy()
public void setLazy(boolean lazy)