Package org.exolab.castor.xml
Class MarshalFramework.InternalXMLClassDescriptor
java.lang.Object
org.exolab.castor.xml.MarshalFramework.InternalXMLClassDescriptor
- All Implemented Interfaces:
NatureExtendable,PropertyHolder,ClassDescriptor,XMLClassDescriptor
- Enclosing class:
MarshalFramework
An internal implementation of XMLClassDescriptor used by
the Unmarshaller and Marshaller...
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedInternalXMLClassDescriptor(XMLClassDescriptor classDesc) Creates a new InternalXMLClassDescriptor for the given XMLClassDescriptor. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a specified nature.booleanReturns true if the given object, represented by this XMLClassDescriptor, can accept a value for the member associated with the given xml name and namespace.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 set of XMLFieldDescriptors for all members that should be marshalled as XML attributes.Returns the XMLClassDescriptor that this InternalXMLClassDescriptor wraps.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.booleanReturns true if the wrapped ClassDescriptor was created by introspection.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.
-
Constructor Details
-
InternalXMLClassDescriptor
Creates a new InternalXMLClassDescriptor for the given XMLClassDescriptor.
-
-
Method Details
-
getClassDescriptor
Returns the XMLClassDescriptor that this InternalXMLClassDescriptor wraps.- Returns:
- the XMLClassDescriptor
-
getAttributeDescriptors
Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML attributes. This includes namespace nodes.- 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.
-
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 againstnamespace- the xml namespace to matchnodeType- 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.
-
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.
-
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.
-
introspected
public boolean introspected()Returns true if the wrapped ClassDescriptor was created by introspection.- Returns:
- true if the wrapped ClassDescriptor was created by introspection.
-
canAccept
Description copied from interface:XMLClassDescriptorReturns true if the given object, represented by this XMLClassDescriptor, can accept a value for the member associated with the given xml name and namespace.
An XMLClassDescriptor can accept a value for a field if it contains a descriptor that matches the given xml name and namespace and if the given object can hold this field (i.e a value is not already set for this field).
- Specified by:
canAcceptin interfaceXMLClassDescriptor- Parameters:
name- the xml name of the field to checknamespace- the namespace uriobject- the object instance represented by this XMLCLassDescriptor- Returns:
- true if the given object represented by this XMLClassDescriptor can accept a member whose name is given.
- See Also:
-
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:
-
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
-
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.
-