public class UntypedListField extends Object
List
.
List getXXX();
Since unmarshaller just adds new values into the storage, we can't fill the storage by default values at the time of instanciation. (or oherwise values found in the document will be appended to default values, where it should overwrite them.)
Therefore, when the object is created, the storage will be empty. When the getXXX method is called, we'll check if the storage is modified in anyway. If it is modified, it must mean that the values are found in the document, so we just return it. Otherwise we will fill in default values and return it to the user.
When a list has default values, its dirty flag is set to true. Marshaller will check this and treat it appropriately.
Modifier and Type | Field and Description |
---|---|
protected JCodeModel |
codeModel |
protected JType |
exposedType
The publicly visible type of this field.
|
protected JFieldVar |
field
The field that stores the list.
|
protected JType |
implType
The type of this field, which can hold all the possible types.
|
protected JClass |
listT |
protected ClassOutlineImpl |
outline |
protected JPrimitiveType |
primitiveType
If this collection property is a collection of a primitive type,
this variable refers to that primitive type.
|
protected CPropertyInfo |
prop |
Modifier | Constructor and Description |
---|---|
protected |
UntypedListField(ClassOutlineImpl context,
CPropertyInfo prop,
JClass coreList) |
Modifier and Type | Method and Description |
---|---|
protected void |
annotate(JAnnotatable field)
Annotate the field according to the recipes given as
CPropertyInfo . |
protected JExpression |
castToImplType(JExpression exp)
Case from
exposedType to implType if necessary. |
com.sun.tools.xjc.generator.bean.field.UntypedListField.Accessor |
create(JExpression targetObject)
Creates a new
FieldAccessor of this field
for the specified object. |
protected void |
fixNullRef(JBlock block)
Generates statement(s) so that the successive
Accessor#ref(boolean) with
true will always return a non-null list. |
protected void |
generate() |
void |
generateAccessors()
Generates accessor methods.
|
protected JFieldVar |
generateField(JType type)
Generates the field declaration.
|
protected JClass |
getCoreListType()
Concrete class that implements the List interface.
|
protected Options |
getOptions()
Gets the
Options in the current compilation context. |
CPropertyInfo |
getPropertyInfo()
Gets the corresponding model object.
|
JType |
getRawType()
Gets the type of the "raw value".
|
protected JType |
getType(Aspect aspect)
Compute the type of a
CPropertyInfo |
protected List<Object> |
listPossibleTypes(CPropertyInfo prop)
Returns contents to be added to javadoc.
|
ClassOutline |
parent()
Gets the enclosing
ClassOutline . |
protected JFieldVar field
protected final JPrimitiveType primitiveType
protected final JClass listT
protected final ClassOutlineImpl outline
protected final CPropertyInfo prop
protected final JCodeModel codeModel
protected final JType implType
protected final JType exposedType
protected UntypedListField(ClassOutlineImpl context, CPropertyInfo prop, JClass coreList)
coreList
- A concrete class that implements the List interface.
An instance of this class will be used to store data
for this field.protected final JClass getCoreListType()
public void generateAccessors()
public com.sun.tools.xjc.generator.bean.field.UntypedListField.Accessor create(JExpression targetObject)
FieldOutline
FieldAccessor
of this field
for the specified object.targetObject
- Evaluates to an object, and the field on this object
will be accessed.protected final void generate()
protected final void fixNullRef(JBlock block)
Accessor#ref(boolean)
with
true will always return a non-null list.
This is useful to avoid generating redundant internal getter.public JType getRawType()
FieldOutline
This type can represent the entire value of this field. For fields that can carry multiple values, this is an array.
This type allows the client of the outline to generate code to set/get values from a property.
public final ClassOutline parent()
FieldOutline
ClassOutline
.parent
in interface FieldOutline
public final CPropertyInfo getPropertyInfo()
FieldOutline
getPropertyInfo
in interface FieldOutline
protected void annotate(JAnnotatable field)
CPropertyInfo
.protected final Options getOptions()
Options
in the current compilation context.protected final JExpression castToImplType(JExpression exp)
exposedType
to implType
if necessary.protected JType getType(Aspect aspect)
CPropertyInfo
aspect
- protected final List<Object> listPossibleTypes(CPropertyInfo prop)
Copyright © 2017 JBoss by Red Hat. All rights reserved.