org.jvnet.hyperjaxb3.xjc.generator.bean.field
Class AbstractField

java.lang.Object
  extended by org.jvnet.hyperjaxb3.xjc.generator.bean.field.AbstractField
All Implemented Interfaces:
com.sun.tools.xjc.outline.FieldOutline
Direct Known Subclasses:
AbstractFieldWithVar, AbstractWrapCollectionField, AbstractWrappingField, SingleElementField, UntypedListField

public abstract class AbstractField
extends Object
implements com.sun.tools.xjc.outline.FieldOutline

Useful base class for implementing FieldOutline.

This class just provides a few utility methods and keep some important variables so that they can be readily accessed any time.

Author:
Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)

Nested Class Summary
protected  class AbstractField.Accessor
          Useful base class for implementing FieldAccessor.
 
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.JType implType
          The type of this field, which can hold all the possible types.
protected  com.sun.tools.xjc.generator.bean.ClassOutlineImpl outline
           
protected  com.sun.tools.xjc.model.CPropertyInfo prop
           
 
Constructor Summary
protected AbstractField(com.sun.tools.xjc.generator.bean.ClassOutlineImpl outline, com.sun.tools.xjc.model.CPropertyInfo prop)
           
 
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.
protected  com.sun.codemodel.JFieldVar generateField(com.sun.codemodel.JType type)
          Generates the field declaration.
 com.sun.tools.xjc.model.CPropertyInfo getPropertyInfo()
           
protected  com.sun.codemodel.JType getType(com.sun.tools.xjc.outline.Aspect aspect)
           
protected  com.sun.codemodel.JType getType(com.sun.tools.xjc.model.CPropertyInfo prop, com.sun.tools.xjc.outline.Aspect aspect)
           
protected  List<Object> listPossibleTypes(com.sun.tools.xjc.model.CPropertyInfo prop)
          Returns contents to be added to javadoc.
 com.sun.tools.xjc.outline.ClassOutline parent()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sun.tools.xjc.outline.FieldOutline
create, getRawType
 

Field Detail

outline

protected final com.sun.tools.xjc.generator.bean.ClassOutlineImpl outline

prop

protected final com.sun.tools.xjc.model.CPropertyInfo prop

codeModel

protected final com.sun.codemodel.JCodeModel codeModel

implType

protected final com.sun.codemodel.JType implType
The type of this field, which can hold all the possible types.


exposedType

protected final com.sun.codemodel.JType exposedType
The publicly visible type of this field. If we are generating value classes implType==exposedType.

Constructor Detail

AbstractField

protected AbstractField(com.sun.tools.xjc.generator.bean.ClassOutlineImpl outline,
                        com.sun.tools.xjc.model.CPropertyInfo prop)
Method Detail

parent

public final com.sun.tools.xjc.outline.ClassOutline parent()
Specified by:
parent in interface com.sun.tools.xjc.outline.FieldOutline

getPropertyInfo

public final com.sun.tools.xjc.model.CPropertyInfo getPropertyInfo()
Specified by:
getPropertyInfo in interface com.sun.tools.xjc.outline.FieldOutline

annotate

protected void annotate(com.sun.codemodel.JAnnotatable field)
Annotate the field according to the recipes given as CPropertyInfo.


generateField

protected final com.sun.codemodel.JFieldVar generateField(com.sun.codemodel.JType type)
Generates the field declaration.


castToImplType

protected final com.sun.codemodel.JExpression castToImplType(com.sun.codemodel.JExpression exp)
Case from exposedType to implType if necessary.


getType

protected com.sun.codemodel.JType getType(com.sun.tools.xjc.outline.Aspect aspect)

getType

protected com.sun.codemodel.JType getType(com.sun.tools.xjc.model.CPropertyInfo prop,
                                          com.sun.tools.xjc.outline.Aspect aspect)

listPossibleTypes

protected final List<Object> listPossibleTypes(com.sun.tools.xjc.model.CPropertyInfo prop)
Returns contents to be added to javadoc.



Copyright © 2005-2014. All Rights Reserved.