com.sun.tools.xjc.api.impl.s2j
Class PropertyImpl

java.lang.Object
  extended by com.sun.tools.xjc.api.impl.s2j.PropertyImpl
All Implemented Interfaces:
Property

public final class PropertyImpl
extends java.lang.Object
implements Property


Field Summary
protected  com.sun.codemodel.JCodeModel codeModel
           
protected  javax.xml.namespace.QName elementName
           
protected  FieldOutline fr
           
protected  Mapping parent
           
 
Constructor Summary
PropertyImpl(Mapping parent, FieldOutline fr, javax.xml.namespace.QName elementName)
           
 
Method Summary
protected  FieldAccessor createAccessor(java.lang.String bean)
           
 javax.xml.namespace.QName elementName()
          Name of the XML element that corresponds to the property.
 java.lang.String getValue(java.lang.String bean, java.lang.String var, java.lang.String uniqueName)
          Generates the code that gets values to this property.
 java.lang.String name()
          The name of the property.
 java.lang.String setValue(java.lang.String bean, java.lang.String var, java.lang.String uniqueName)
          Generates the code that sets values to this property.
 com.sun.codemodel.JType type()
          The Java type of the property.
protected  java.lang.String writeBlock(com.sun.codemodel.JBlock block)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fr

protected final FieldOutline fr

elementName

protected final javax.xml.namespace.QName elementName

parent

protected final Mapping parent

codeModel

protected final com.sun.codemodel.JCodeModel codeModel
Constructor Detail

PropertyImpl

PropertyImpl(Mapping parent,
             FieldOutline fr,
             javax.xml.namespace.QName elementName)
Method Detail

name

public final java.lang.String name()
Description copied from interface: Property
The name of the property.

This method returns a valid identifier suitable for the use as a variable name.

Specified by:
name in interface Property
Returns:
always non-null. Camel-style name like "foo" or "barAndZot". Note that it may contain non-ASCII characters (CJK, etc.) The caller is responsible for proper escaping if it wants to print this as a variable name.

elementName

public final javax.xml.namespace.QName elementName()
Description copied from interface: Property
Name of the XML element that corresponds to the property.

Each child of a wrapper style element corresponds with an element, and this method returns that name.

Specified by:
elementName in interface Property
Returns:
always non-null valid QName.

createAccessor

protected final FieldAccessor createAccessor(java.lang.String bean)

writeBlock

protected final java.lang.String writeBlock(com.sun.codemodel.JBlock block)

type

public final com.sun.codemodel.JType type()
Description copied from interface: Property
The Java type of the property.

Specified by:
type in interface Property
Returns:
always non-null. JType is a representation of a Java type in a codeModel. If you just need the fully-qualified class name, call JType.fullName().

setValue

public java.lang.String setValue(java.lang.String bean,
                                 java.lang.String var,
                                 java.lang.String uniqueName)
Description copied from interface: Property
Generates the code that sets values to this property.

Specified by:
setValue in interface Property
Parameters:
bean - A variable name that evaluates to the "type representation" of the bean that receives new values.
var - A variable name that evaluates to the values to be set. The type of this variable must be the one returned by Property.type()
uniqueName - Sometimes this method needs to generate additional local variables to get the job done. This parameter specifies what names can be used in such occasion. This parameter must not be null. For example, when you pass "abc", you are guaranteeing that any identifier "abc.*" (in regexp) is usable unused identifier names in the context where this code is used.
Returns:
A statement that sets the values to the bean. At the end of the evaluation of this generated statement the bean will have new values, and the contents of the variables are intact.

getValue

public java.lang.String getValue(java.lang.String bean,
                                 java.lang.String var,
                                 java.lang.String uniqueName)
Description copied from interface: Property
Generates the code that gets values to this property.

Specified by:
getValue in interface Property
Parameters:
bean - A variable name that evaluates to the "type representation" of the bean whose values will be retrieved.
var - A variable name that evaluates to the values to be set. The type of this variable must be the one returned by Property.type().
uniqueName - Sometimes this method needs to generate additional local variables to get the job done. This parameter specifies what names can be used in such occasion. This parameter must not be null. For example, when you pass "abc", you are guaranteeing that any identifier "abc.*" (in regexp) is usable unused identifier names in the context where this code is used.
Returns:
A statement that gets the values to the bean. At the end of the evaluation, the specified variable will carry the values obtained from the bean. The specified variable can have unitialized value before the evaluation of this statement.