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.
createMissingBeansAGGREGATION_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, toParamStringadd, clone, find, getChildren, getFirst, getName, isDescendant, iterator, print, print, setName, size, sort, toString, updateReferencesequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetAccessor, getName, getType, isIdentifier, setAccessor, setIdentifier, setTypeforEach, spliteratorpublic void clearValue(ParsingContext context)
PropertyProperty.getValue(ParsingContext) should
return null, or Value.MISSING for lazy property values.clearValue in interface Propertycontext - the ParsingContextpublic Object createValue(ParsingContext context)
PropertycreateValue in interface Propertycontext - the ParsingContextpublic Object getValue(ParsingContext context)
PropertyWhen 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 Propertycontext - the ParsingContextValue.MISSING if not present in the stream,
or Value.INVALID if the field was invalidpublic void setValue(ParsingContext context, Object value)
PropertysetValue in interface Propertycontext - the ParsingContextvalue - the property valueprotected Object newInstance(ParsingContext context)
context - the ParsingContextprotected boolean isSupportedChild(Component child)
TreeNodeTreeNode.add(TreeNode).isSupportedChild in class PropertyComponentchild - the node to testpublic void setRequired(boolean required)
PropertyComponentProperty.createValue(ParsingContext) is invoked.setRequired in class PropertyComponentrequired - true to always instantiate this property, false otherwisepublic int type()
Propertytype in interface PropertyProperty.SIMPLE, Property.COMPLEX, Property.AGGREGATION_ARRAY, Property.COLLECTION,
Property.AGGREGATION_COLLECTION, or Property.MAPprotected 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.Constructorpublic void setConstructor(Constructor<?> constructor)
Constructor used to instantiate this bean object.constructor - the Constructorpublic void registerLocals(Set<ParserLocal<?>> locals)
ComponentregisterLocals in class Componentlocals - set of local variablespublic boolean isLazy()
public void setLazy(boolean lazy)