Package org.exolab.castor.types
Class BaseDescriptor
java.lang.Object
org.exolab.castor.types.BaseDescriptor
- All Implemented Interfaces:
NatureExtendable,PropertyHolder,ClassDescriptor,XMLClassDescriptor
- Direct Known Subclasses:
CenturyDescriptor,DateDescriptor,DateTimeDescriptor,DurationDescriptor,GDayDescriptor,GMonthDayDescriptor,GMonthDescriptor,GYearDescriptor,GYearMonthDescriptor,MonthDescriptor,RecurringDurationDescriptor,TimeDescriptor,TimeDurationDescriptor,TimePeriodDescriptor,YearDescriptor
The Base Descriptor class, this class is extended
by the descriptors for the custom Castor schema types.
- Version:
- $Revision: 7794 $ $Date: 2004-12-16 22:49:25 -0700 (Thu, 16 Dec 2004) $
- Author:
- Keith Visco
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final XMLFieldDescriptor[]Used for returning no attribute and no element fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a specified nature.booleanReturns true if the given object represented by this XMLClassDescriptor can accept a member whose name is given.voidcheckDescriptorForCorrectOrderWithinSequence(XMLFieldDescriptor elementDescriptor, UnmarshalState parentState, String xmlName) Checks whether the given XMLFieldDescriptor is the one actually expected, given the natural order as defined by a sequence definitionReturns the access mode specified for this class.Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML attributes.Returns the XMLFieldDescriptor for the member that should be marshalled as text content.Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML elements.Returns the class descriptor of the class extended by this class.getFieldDescriptor(String name, String namespace, NodeType nodeType) Returns the XML field descriptor matching the given xml name and nodeType.Returns a list of fields represented by this descriptor.Returns the identity field, null if this class has no identity.Returns the Java class represented by this descriptor.Returns the namespace prefix to use when marshalling as XML.Returns the namespace URI used when marshalling and unmarshalling as XML.getProperty(String name) Get a property by its name.Returns a specific validator for the class described by this ClassDescriptor.Returns the XML Name for the Class being described.booleanChecks if a specified nature has been added.booleanisChoice()Indicates whether the XML artifact described by this descriptor is a invalid input: '<'xsd:choice>.voidsetProperty(String name, Object value) Set a property specified by the name to the passed value.toString()Returns the String representation of this XMLClassDescriptor.
-
Field Details
-
noXMLFields
Used for returning no attribute and no element fields
-
-
Constructor Details
-
BaseDescriptor
-
-
Method Details
-
getAttributeDescriptors
Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML attributes.- Specified by:
getAttributeDescriptorsin interfaceXMLClassDescriptor- Returns:
- an array of XMLFieldDescriptors for all members that should be marshalled as XML attributes.
-
getContentDescriptor
Returns the XMLFieldDescriptor for the member that should be marshalled as text content.- Specified by:
getContentDescriptorin interfaceXMLClassDescriptor- Returns:
- the XMLFieldDescriptor for the member that should be marshalled as text content.
-
getElementDescriptors
Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML elements.- Specified by:
getElementDescriptorsin interfaceXMLClassDescriptor- Returns:
- an array of XMLFieldDescriptors for all members that should be marshalled as XML elements.
-
getFieldDescriptor
Returns the XML field descriptor matching the given xml name and nodeType. If NodeType is null, then either an AttributeDescriptor, or ElementDescriptor may be returned. Null is returned if no matching descriptor is available.- Specified by:
getFieldDescriptorin interfaceXMLClassDescriptor- Parameters:
name- The xml name to match against.namespace- The namespace uri.nodeType- The NodeType to match against, or null if the node type is not known.- Returns:
- The matching descriptor, or null if no matching descriptor is available.
-
getNameSpacePrefix
Description copied from interface:XMLClassDescriptorReturns the namespace prefix to use when marshalling as XML.- Specified by:
getNameSpacePrefixin interfaceXMLClassDescriptor- Returns:
- the namespace prefix to use when marshalling as XML.
-
getNameSpaceURI
Description copied from interface:XMLClassDescriptorReturns the namespace URI used when marshalling and unmarshalling as XML.- Specified by:
getNameSpaceURIin interfaceXMLClassDescriptor- Returns:
- the namespace URI used when marshalling and unmarshalling as XML.
-
getValidator
Returns a specific validator for the class described by this ClassDescriptor. A null value may be returned if no specific validator exists.- Specified by:
getValidatorin interfaceXMLClassDescriptor- Returns:
- the type validator for the class described by this ClassDescriptor.
-
getXMLName
Returns the XML Name for the Class being described.- Specified by:
getXMLNamein interfaceXMLClassDescriptor- Returns:
- the XML name.
-
toString
Returns the String representation of this XMLClassDescriptor. -
getJavaClass
Returns the Java class represented by this descriptor.- Specified by:
getJavaClassin interfaceClassDescriptor- Returns:
- The Java class
-
getFields
Returns a list of fields represented by this descriptor.- Specified by:
getFieldsin interfaceClassDescriptor- Returns:
- A list of fields
-
getExtends
Returns the class descriptor of the class extended by this class.- Specified by:
getExtendsin interfaceClassDescriptor- Returns:
- The extended class descriptor
-
getIdentity
Returns the identity field, null if this class has no identity.- Specified by:
getIdentityin interfaceClassDescriptor- Returns:
- The identity field
-
getAccessMode
Returns the access mode specified for this class.- Returns:
- The access mode
-
canAccept
Returns true if the given object represented by this XMLClassDescriptor can accept a member whose name is given. An XMLClassDescriptor can accept a field if it contains a descriptor that matches the given name and if the given object can hold this field (i.e a value is not already set for this field).This is mainly used for container object (that can contains other object), in this particular case the implementation will return null.
- Specified by:
canAcceptin interfaceXMLClassDescriptor- Parameters:
name- the xml name of the field to checknamespace- the namespace uriobject- the object represented by this XMLCLassDescriptor- Returns:
- true if the given object represented by this XMLClassDescriptor can accept a member whose name is given.
-
checkDescriptorForCorrectOrderWithinSequence
public void checkDescriptorForCorrectOrderWithinSequence(XMLFieldDescriptor elementDescriptor, UnmarshalState parentState, String xmlName) throws ValidationException Checks whether the given XMLFieldDescriptor is the one actually expected, given the natural order as defined by a sequence definition- Specified by:
checkDescriptorForCorrectOrderWithinSequencein interfaceXMLClassDescriptor- Parameters:
elementDescriptor- The XML field descriptor to be checkedxmlName- TODO- Throws:
ValidationException- If the descriptor is not the one expected- See Also:
-
isChoice
public boolean isChoice()Indicates whether the XML artifact described by this descriptor is a invalid input: '<'xsd:choice>.- Specified by:
isChoicein interfaceXMLClassDescriptor- Returns:
- True if the artifact described is a choice.
- See Also:
-
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.
-