Package org.exolab.castor.builder.info
Class ClassInfo
java.lang.Object
org.exolab.castor.builder.info.ClassInfo
- All Implemented Interfaces:
NatureExtendable,PropertyHolder,XMLInfo
This class holds the necessary information so that the source generator can
properly create the necessary classes for the object model.
- Version:
- $Revision: 7943 $ $Date: 2006-04-13 07:37:49 -0600 (Thu, 13 Apr 2006) $
- Author:
- Keith Visco
-
Field Summary
Fields inherited from interface org.exolab.castor.builder.info.XMLInfo
CHOICE_NODE_NAME_ERROR_INDICATION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddFieldInfo(FieldInfo fieldInfo) Adds the given FieldInfo to this ClassInfo.voidaddFieldInfo(FieldInfo[] fields) Adds the given set of FieldInfos to this ClassInfo.voidAdds a specified nature.booleanbooleanReturns true if the given FieldInfo is contained within this ClassInfo.getAttributeField(String nodeName) Returns a fieldInfo that corresponds to an attribute with the given node name.Returns an array of XML attribute associated fields.Returns all attributeFieldInfos as a collection.Returns the base class of this classInfo if any.getElementField(String nodeName) Returns a fieldInfo that corresponds to an element with the given node name.Returns an array of XML element associated fields.Returns all elementFieldInfos as a collection.intReturns the number of FieldInfo definitions for this ClassInfo.Returns the JClass described by this ClassInfo.getProperty(String name) Get a property by its name.Returns the FieldInfo for the XML text associated field.booleanChecks if a specified nature has been added.booleanReturns true if the JClass represented by this ClassInfo is abstract.voidsetAbstract(boolean abstractClass) Sets the class of this ClassInfo to be abstract ofabstractClassis true, false otherwise.voidsetBaseClass(ClassInfo base) Sets the base class of this classInfo.voidsetProperty(String name, Object value) Set a property specified by the name to the passed value.
-
Constructor Details
-
ClassInfo
Creates a new ClassInfo. Adds theXMLInfoNaturefor legacy compliance.- Parameters:
jClass- the JClass which this ClassInfo describes
-
-
Method Details
-
addFieldInfo
Adds the given FieldInfo to this ClassInfo.- Parameters:
fieldInfo- the FieldInfo to add
-
addFieldInfo
Adds the given set of FieldInfos to this ClassInfo.- Parameters:
fields- an Array of FieldInfo objects
-
allowContent
public boolean allowContent()- Returns:
- true if Classes created with this ClassInfo allow content
-
contains
Returns true if the given FieldInfo is contained within this ClassInfo.- Parameters:
fieldInfo- the FieldInfo to check- Returns:
- true if the given FieldInfo is contained within this ClassInfo
-
getAttributeFields
Returns an array of XML attribute associated fields.- Returns:
- an array of XML attribute associated fields.
-
getAttributeField
Returns a fieldInfo that corresponds to an attribute with the given node name. A ClassInfo cannot have 2 attributes with the same xml name.- Parameters:
nodeName- the NodeName of the field to get.- Returns:
- a fieldInfo that corresponds to an attribute with the given node name.
-
getBaseClass
Returns the base class of this classInfo if any. A classInfo can indeed extend another classInfo to reflect the extension mechanism used in the XML Schema.- Returns:
- the base class of this classInfo if any.
-
getElementFields
Returns an array of XML element associated fields.- Returns:
- an array of XML element associated fields.
-
getElementField
Returns a fieldInfo that corresponds to an element with the given node name. A ClassInfo cannot have 2 elements with the same xml name.- Parameters:
nodeName- the NodeName of the field to get.- Returns:
- a fieldInfo that corresponds to an element with the given node name.
-
getFieldCount
public int getFieldCount()Returns the number of FieldInfo definitions for this ClassInfo.- Returns:
- the number of FieldInfo definitions for this ClassInfo.
-
getJClass
Returns the JClass described by this ClassInfo.- Returns:
- the JClass which is described by this ClassInfo
-
getTextField
Returns the FieldInfo for the XML text associated field.- Returns:
- the FieldInfo for the text content associated field, this may be null.
-
isAbstract
public boolean isAbstract()Returns true if the JClass represented by this ClassInfo is abstract.- Returns:
- true if the JClass represented by this ClassInfo is abstract
-
setAbstract
public void setAbstract(boolean abstractClass) Sets the class of this ClassInfo to be abstract ofabstractClassis true, false otherwise.- Parameters:
abstractClass- true if the class represented by this ClassInfo is abstract
-
setBaseClass
Sets the base class of this classInfo. A classInfo can indeed extend another classInfo to reflect the extension mechanism used in the XML Schema- Parameters:
base- the base class of this classInfo.
-
getProperty
Description copied from interface:PropertyHolderGet a property by its name.- Specified by:
getPropertyin interfacePropertyHolder- Parameters:
name- of the property- Returns:
- value of the property
-
setProperty
Description copied from interface:PropertyHolderSet a property specified by the name to the passed value.- Specified by:
setPropertyin interfacePropertyHolder- Parameters:
name- of the propertyvalue- of the property
-
addNature
Description copied from interface:NatureExtendableAdds a specified nature.- Specified by:
addNaturein interfaceNatureExtendable- Parameters:
nature- ID of the Nature
-
hasNature
Description copied from interface:NatureExtendableChecks if a specified nature has been added.- Specified by:
hasNaturein interfaceNatureExtendable- Parameters:
nature- ID of the Nature- Returns:
- true if the Nature ID was added.
-
getAttributeFieldsAsCollection
Returns all attributeFieldInfos as a collection.- Returns:
- attribute fields.
-
getElementFieldsAsCollection
Returns all elementFieldInfos as a collection.- Returns:
- element fields.
-