|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.sun.tools.xjc.generator.bean.field.ContentListField
public class ContentListField
Realizes a property as an untyped 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.
| Field Summary | |
|---|---|
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
|
| Constructor Summary | |
|---|---|
protected |
ContentListField(ClassOutlineImpl context,
CPropertyInfo prop,
JClass coreList)
|
| Method Summary | |
|---|---|
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.ContentListField.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. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
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
| Constructor Detail |
|---|
protected ContentListField(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.| Method Detail |
|---|
protected final JClass getCoreListType()
public void generateAccessors()
public com.sun.tools.xjc.generator.bean.field.ContentListField.Accessor create(JExpression targetObject)
FieldOutlineFieldAccessor of this field
for the specified object.
targetObject - Evaluates to an object, and the field on this object
will be accessed.protected JType getType(Aspect aspect)
CPropertyInfo
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()
FieldOutlineThis 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()
FieldOutlineClassOutline.
parent in interface FieldOutlinepublic final CPropertyInfo getPropertyInfo()
FieldOutline
getPropertyInfo in interface FieldOutlineprotected void annotate(JAnnotatable field)
CPropertyInfo.
protected final Options getOptions()
Options in the current compilation context.
protected final JFieldVar generateField(JType type)
protected final JExpression castToImplType(JExpression exp)
exposedType to implType if necessary.
protected final List<Object> listPossibleTypes(CPropertyInfo prop)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||