org.exolab.castor.builder.info

Class FieldInfo

Known Direct Subclasses:
CollectionInfo, IdentityInfo

public class FieldInfo
extends XMLInfo

A class for representing field members of a Class. FieldInfo objects hold all the information required about a member in order to be able to produce marshal/unmarshal and validation code.
Version:
$Revision: 7148 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Author:
Keith Visco

Field Summary

static String
METHOD_PREFIX_ADD
Method prefixes for "Add" methods.
static String
METHOD_PREFIX_DELETE
Method prefixes for "Delete" methods.
static String
METHOD_PREFIX_GET
Method prefixes for "Get" methods.
static String
METHOD_PREFIX_HAS
Method prefixes for "Has" methods.
static String
METHOD_PREFIX_IS
Method prefixes for "Is" methods.
static String
METHOD_PREFIX_SET
Method prefixes for "Set" methods.
static int
READ_METHOD
The Read / Getter method flag.
static int
READ_WRITE_METHODS
The Read and Write methods flags.
static int
WRITE_METHOD
The Write / Setter method flag.

Fields inherited from class org.exolab.castor.builder.info.XMLInfo

ATTRIBUTE_TYPE, CHOICE_NODE_NAME_ERROR_INDICATION, ELEMENT_TYPE, TEXT_TYPE

Constructor Summary

FieldInfo(XSType type, String name, FieldMemberAndAccessorFactory memberAndAccessorFactory)
Creates a new FieldInfo with the given XML Schema type and the given member name.

Method Summary

String
getComment()
Returns the comment associated with this Member.
ClassInfo
getDeclaringClassInfo()
Returns the ClassInfo to which this Member was declared, for inheritance reasons.
String
getDefaultValue()
String
getDeleteMethodName()
Returns the name of the delete method for this FieldInfo.
FieldInfo
getFieldInfoReference()
String
getFixedValue()
Returns the fixed production for this FieldInfo, or null if no fixed value has been specified.
String
getHasMethodName()
Returns the name of the has method for this FieldInfo.
FieldMemberAndAccessorFactory
getMemberAndAccessorFactory()
Returns the FieldMemberAndAccessorFactory instance to use to create a JField out of this FieldInfo.
String
getMethodSuffix()
Returns the method suffix for creating method names.
int
getMethods()
Returns the methods flag that indicates which.
String
getName()
Returns the name of this FieldInfo.
String
getReadMethodName()
Returns the name of the read method for this FieldInfo.
List
getSubstitutionGroupMembers()
Returns the possible substitution groups for this class.
String
getValidator()
Returns the fully qualified name of the Validator to use.
Object
getVisibility()
String
getWriteMethodName()
Returns the name of the write method for this FieldInfo.
String
getXMLFieldHandler()
Returns the fully qualified name of the XMLFieldHandler to use.
boolean
isBound()
Returns true if this FieldInfo represents a bound property.
boolean
isContainer()
Returns true if this FieldInfo describes a container class.
boolean
isFinal()
boolean
isHasAndDeleteMethods()
Returns true if the "has" and "delete" methods are needed for the field associated with this FieldInfo.
boolean
isNillable()
Returns true if this field represents a nillable field.
boolean
isStatic()
boolean
isTransient()
Returns true if this FieldInfo is a transient member.
void
setBound(boolean bound)
Sets whether or not this FieldInfo represents a bound property.
void
setComment(String comment)
Sets the comment for this Member.
void
setContainer(boolean isContainer)
Sets whether or not this FieldInfo describes a container field.
void
setDeclaringClassInfo(ClassInfo declaringClassInfo)
void
setDefaultValue(String defaultValue)
Sets the default value for this FieldInfo.
void
setFieldInfoReference(FieldInfo fieldInfo)
Sets the name of the field within the same class that is a reference to this field.
void
setFinal(boolean isFinal)
Sets the "final" status of this FieldInfo.
void
setFixedValue(String fixedValue)
Sets the fixed value in which instances of this field type must lexically match.
void
setMethods(int methods)
Sets which methods to create: READ_METHOD, WRITE_METHOD, READ_WRITE_METHODS.
void
setNillable(boolean nillable)
Sets whether or not this field can be nillable.
void
setStatic(boolean isStatic)
Sets the "static" status of this FieldInfo.
void
setSubstitutionGroupMembers(List substitutionGroupMembers)
Sets the possible substitution groups for this class.
void
setTransient(boolean isTransient)
Sets the transient status of this FieldInfo.
void
setValidator(String validator)
Sets the name of the Validator to use.
void
setVisibility(String visibility)
Sets the visibility of this FieldInfo.
void
setXMLFieldHandler(String handler)
Sets the name of the XMLfieldHandler to use.

Methods inherited from class org.exolab.castor.builder.info.XMLInfo

getNamespacePrefix, getNamespaceURI, getNodeName, getNodeType, getNodeTypeName, getSchemaType, isElementDefinition, isMultivalued, isRequired, setElementDefinition, setMultivalued, setNamespacePrefix, setNamespaceURI, setNodeName, setNodeType, setRequired, setSchemaType

Field Details

METHOD_PREFIX_ADD

public static final String METHOD_PREFIX_ADD
Method prefixes for "Add" methods.

METHOD_PREFIX_DELETE

public static final String METHOD_PREFIX_DELETE
Method prefixes for "Delete" methods.

METHOD_PREFIX_GET

public static final String METHOD_PREFIX_GET
Method prefixes for "Get" methods.

METHOD_PREFIX_HAS

public static final String METHOD_PREFIX_HAS
Method prefixes for "Has" methods.

METHOD_PREFIX_IS

public static final String METHOD_PREFIX_IS
Method prefixes for "Is" methods.

METHOD_PREFIX_SET

public static final String METHOD_PREFIX_SET
Method prefixes for "Set" methods.

READ_METHOD

public static final int READ_METHOD
The Read / Getter method flag.
Field Value:
1

READ_WRITE_METHODS

public static final int READ_WRITE_METHODS
The Read and Write methods flags.
Field Value:
3

WRITE_METHOD

public static final int WRITE_METHOD
The Write / Setter method flag.
Field Value:
2

Constructor Details

FieldInfo

public FieldInfo(XSType type,
                 String name,
                 FieldMemberAndAccessorFactory memberAndAccessorFactory)
Creates a new FieldInfo with the given XML Schema type and the given member name.
Parameters:
type - the XML Schema type of this member
name - the name of the member
memberAndAccessorFactory - the FieldMemberAndAccessorFactory to be used

Method Details

getComment

public final String getComment()
Returns the comment associated with this Member.
Returns:
the comment associated with this Member, or null. if one has not been set.

getDeclaringClassInfo

public final ClassInfo getDeclaringClassInfo()
Returns the ClassInfo to which this Member was declared, for inheritance reasons.
Returns:
the ClassInfo to which this Member was declared.

getDefaultValue

public final String getDefaultValue()

getDeleteMethodName

public final String getDeleteMethodName()
Returns the name of the delete method for this FieldInfo.
Returns:
the name of the delete method for this FieldInfo.

getFieldInfoReference

public FieldInfo getFieldInfoReference()

getFixedValue

public final String getFixedValue()
Returns the fixed production for this FieldInfo, or null if no fixed value has been specified.

NOTE: Fixed values are NOT the same as default values

Returns:
the fixed value for this FieldInfo

getHasMethodName

public final String getHasMethodName()
Returns the name of the has method for this FieldInfo.
Returns:
the name of the has method for this FieldInfo.

getMemberAndAccessorFactory

public FieldMemberAndAccessorFactory getMemberAndAccessorFactory()
Returns the FieldMemberAndAccessorFactory instance to use to create a JField out of this FieldInfo.
Returns:
the suitable FieldMemberAndAccessorFactory

getMethodSuffix

public String getMethodSuffix()
Returns the method suffix for creating method names.
Returns:
the method suffix used when creating method names.

getMethods

public final int getMethods()
Returns the methods flag that indicates which. methods will be created.
Returns:
the methods flag

getName

public final String getName()
Returns the name of this FieldInfo.
Returns:
the name of this FieldInfo.

getReadMethodName

public final String getReadMethodName()
Returns the name of the read method for this FieldInfo.
Returns:
the name of the read method for this FieldInfo.

getSubstitutionGroupMembers

public List getSubstitutionGroupMembers()
Returns the possible substitution groups for this class.
Returns:
the possible substitution groups for this class.

getValidator

public final String getValidator()
Returns the fully qualified name of the Validator to use.
Returns:
the fully qualified name of the Validator to use.

getVisibility

public Object getVisibility()

getWriteMethodName

public final String getWriteMethodName()
Returns the name of the write method for this FieldInfo.
Returns:
the name of the write method for this FieldInfo.

getXMLFieldHandler

public final String getXMLFieldHandler()
Returns the fully qualified name of the XMLFieldHandler to use.
Returns:
the fully qualified name of the XMLFieldHandler to use.

isBound

public final boolean isBound()
Returns true if this FieldInfo represents a bound property.
Returns:
true if this FieldInfo represents a bound property.

isContainer

public final boolean isContainer()
Returns true if this FieldInfo describes a container class. A container class is a class which should not be marshalled as XML, but whose members should be.
Returns:
true if this ClassInfo describes a container class.

isFinal

public boolean isFinal()

isHasAndDeleteMethods

public final boolean isHasAndDeleteMethods()
Returns true if the "has" and "delete" methods are needed for the field associated with this FieldInfo.
Returns:
true if the has and delete methods are needed.

isNillable

public final boolean isNillable()
Returns true if this field represents a nillable field. A nillable field is a field that can have null content (see XML Schema 1.0 definition of nillable).
Returns:
true if nillable, otherwise false.

isStatic

public boolean isStatic()

isTransient

public final boolean isTransient()
Returns true if this FieldInfo is a transient member. Transient members are members which should be ignored by the Marshalling framework.
Returns:
true if this FieldInfo is transient.

setBound

public final void setBound(boolean bound)
Sets whether or not this FieldInfo represents a bound property.
Parameters:
bound - the flag when true indicates that this FieldInfo represents a bound property.

setComment

public final void setComment(String comment)
Sets the comment for this Member.
Parameters:
comment - the comment or description for this Member

setContainer

public final void setContainer(boolean isContainer)
Sets whether or not this FieldInfo describes a container field. A container field is a field which should not be marshalled directly as XML, but whose members should be. By default this is false.
Parameters:
isContainer - the boolean value when true indicates this class should be a container class.

setDeclaringClassInfo

public final void setDeclaringClassInfo(ClassInfo declaringClassInfo)

setDefaultValue

public final void setDefaultValue(String defaultValue)
Sets the default value for this FieldInfo.
Parameters:
defaultValue - the default value

setFieldInfoReference

public final void setFieldInfoReference(FieldInfo fieldInfo)
Sets the name of the field within the same class that is a reference to this field.
Parameters:
fieldInfo -

setFinal

public final void setFinal(boolean isFinal)
Sets the "final" status of this FieldInfo. Final members are also transient.
Parameters:
isFinal - the boolean indicating the final status, if true this FieldInfo will be treated as final.

setFixedValue

public final void setFixedValue(String fixedValue)
Sets the fixed value in which instances of this field type must lexically match. NOTE: This is not the same as default value!
Parameters:
fixedValue - the fixed production for this FieldInfo

setMethods

public final void setMethods(int methods)
Sets which methods to create: READ_METHOD, WRITE_METHOD, READ_WRITE_METHODS.
Parameters:
methods - a flag describing which methods to create.

setNillable

public final void setNillable(boolean nillable)
Sets whether or not this field can be nillable.
Parameters:
nillable - a boolean that when true means the field may be nil.

setStatic

public final void setStatic(boolean isStatic)
Sets the "static" status of this FieldInfo. Static members are also transient.
Parameters:
isStatic - the boolean indicating the static status, if true this FieldInfo will be treated as static

setSubstitutionGroupMembers

public void setSubstitutionGroupMembers(List substitutionGroupMembers)
Sets the possible substitution groups for this class.
Parameters:
substitutionGroupMembers - Possible substitution groups for this class.

setTransient

public final void setTransient(boolean isTransient)
Sets the transient status of this FieldInfo.
Parameters:
isTransient - the boolean indicating the transient status, if true this FieldInfo will be treated as transient

setValidator

public final void setValidator(String validator)
Sets the name of the Validator to use.
Parameters:
validator - the fully qualified name of the validator to use.

setVisibility

public final void setVisibility(String visibility)
Sets the visibility of this FieldInfo.
Parameters:
visibility - the visibility of this FieldInfo.

setXMLFieldHandler

public final void setXMLFieldHandler(String handler)
Sets the name of the XMLfieldHandler to use.
Parameters:
handler - the fully qualified name of the handler to use.

Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com