|
||||||||||
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.UntypedListField
public class UntypedListField
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 com.sun.codemodel.JCodeModel |
codeModel
|
protected com.sun.codemodel.JType |
exposedType
The publicly visible type of this field. |
protected com.sun.codemodel.JFieldVar |
field
The field that stores the list. |
protected com.sun.codemodel.JType |
implType
The type of this field, which can hold all the possible types. |
protected com.sun.codemodel.JClass |
listT
|
protected ClassOutlineImpl |
outline
|
protected com.sun.codemodel.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 |
UntypedListField(ClassOutlineImpl context,
CPropertyInfo prop,
com.sun.codemodel.JClass coreList)
|
Method Summary | |
---|---|
protected void |
annotate(com.sun.codemodel.JAnnotatable field)
Annotate the field according to the recipes given as CPropertyInfo . |
protected com.sun.codemodel.JExpression |
castToImplType(com.sun.codemodel.JExpression exp)
Case from exposedType to implType if necessary. |
com.sun.tools.xjc.generator.bean.field.UntypedListField.Accessor |
create(com.sun.codemodel.JExpression targetObject)
Creates a new FieldAccessor of this field
for the specified object. |
protected void |
fixNullRef(com.sun.codemodel.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 com.sun.codemodel.JFieldVar |
generateField(com.sun.codemodel.JType type)
Generates the field declaration. |
protected com.sun.codemodel.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. |
com.sun.codemodel.JType |
getRawType()
Gets the type of the "raw value". |
protected com.sun.codemodel.JType |
getType(Aspect aspect)
Compute the type of a CPropertyInfo |
protected java.util.List<java.lang.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 com.sun.codemodel.JFieldVar field
protected final com.sun.codemodel.JPrimitiveType primitiveType
protected final com.sun.codemodel.JClass listT
protected final ClassOutlineImpl outline
protected final CPropertyInfo prop
protected final com.sun.codemodel.JCodeModel codeModel
protected final com.sun.codemodel.JType implType
protected final com.sun.codemodel.JType exposedType
Constructor Detail |
---|
protected UntypedListField(ClassOutlineImpl context, CPropertyInfo prop, com.sun.codemodel.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 com.sun.codemodel.JClass getCoreListType()
public void generateAccessors()
public com.sun.tools.xjc.generator.bean.field.UntypedListField.Accessor create(com.sun.codemodel.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(com.sun.codemodel.JBlock block)
Accessor#ref(boolean)
with
true will always return a non-null list.
This is useful to avoid generating redundant internal getter.
public com.sun.codemodel.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(com.sun.codemodel.JAnnotatable field)
CPropertyInfo
.
protected final Options getOptions()
Options
in the current compilation context.
protected final com.sun.codemodel.JFieldVar generateField(com.sun.codemodel.JType type)
protected final com.sun.codemodel.JExpression castToImplType(com.sun.codemodel.JExpression exp)
exposedType
to implType
if necessary.
protected com.sun.codemodel.JType getType(Aspect aspect)
CPropertyInfo
aspect
- protected final java.util.List<java.lang.Object> listPossibleTypes(CPropertyInfo prop)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |