public class SingleField extends Object
T' field; T getXXX() { ... } void setXXX(T value) { ... }
Normally T'=T, but under some tricky circumstances they could be different (like T'=Integer, T=int.) This realization is only applicable to fields with (1,1) or (0,1) multiplicity.
Modifier and Type | Class and Description |
---|---|
protected class |
SingleField.Accessor |
Modifier and Type | Field and Description |
---|---|
protected JCodeModel |
codeModel |
protected JType |
exposedType
The publicly visible type of this field.
|
protected JType |
implType
The type of this field, which can hold all the possible types.
|
protected ClassOutlineImpl |
outline |
protected CPropertyInfo |
prop |
Modifier | Constructor and Description |
---|---|
protected |
SingleField(ClassOutlineImpl context,
CPropertyInfo prop) |
protected |
SingleField(ClassOutlineImpl context,
CPropertyInfo prop,
boolean forcePrimitiveAccess) |
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. |
FieldAccessor |
create(JExpression targetObject)
Creates a new
FieldAccessor of this field
for the specified object. |
protected void |
createField() |
protected JFieldVar |
generateField(JType type)
Generates the field declaration.
|
JType |
getFieldType()
Returns the type used to store the value of the field in memory.
|
protected String |
getGetterMethod()
Gets the name of the getter method.
|
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 |
ref() |
protected final ClassOutlineImpl outline
protected final CPropertyInfo prop
protected final JCodeModel codeModel
protected final JType implType
protected final JType exposedType
protected SingleField(ClassOutlineImpl context, CPropertyInfo prop)
protected SingleField(ClassOutlineImpl context, CPropertyInfo prop, boolean forcePrimitiveAccess)
forcePrimitiveAccess
- forces the setter/getter to expose the primitive type.
it's a pointless customization, but it's nevertheless in the spec.public final JType getFieldType()
public FieldAccessor 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 createField()
protected String getGetterMethod()
This encapsulation is necessary because sometimes we use
isXXXX
as the method name.
protected JFieldVar ref()
public final 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.