Package org.exolab.castor.xml
Interface XMLClassDescriptor
- All Superinterfaces:
ClassDescriptor
,NatureExtendable
,PropertyHolder
- All Known Implementing Classes:
AutomaticNamingTypeDescriptor
,BaseDescriptor
,BaseDescriptor
,BindingDescriptor
,BindingTypeDescriptor
,BindXmlAutoNamingTypeDescriptor
,BindXmlDescriptor
,BindXmlNodeTypeDescriptor
,CacheTypeMappingDescriptor
,CenturyDescriptor
,ClassChoiceDescriptor
,ClassMappingAccessTypeDescriptor
,ClassMappingDescriptor
,ClassTypeDescriptor
,ColumnDescriptor
,ComponentBindingTypeChoiceDescriptor
,ComponentBindingTypeDescriptor
,ContainerDescriptor
,ContentMemberTypeDescriptor
,DateClassDescriptor
,DateDescriptor
,DateTimeDescriptor
,DurationDescriptor
,EnumBindingTypeDescriptor
,EnumClassNameDescriptor
,EnumerationDescriptor
,EnumMemberDescriptor
,ExcludeDescriptor
,ExcludesDescriptor
,FieldDescriptor
,FieldHandlerDefDescriptor
,FieldMappingCollectionTypeDescriptor
,FieldMappingDescriptor
,FieldTypeCollectionTypeDescriptor
,FieldTypeDescriptor
,FieldTypeVisibilityTypeDescriptor
,ForcesDescriptor
,GDayDescriptor
,GMonthDayDescriptor
,GMonthDescriptor
,GYearDescriptor
,GYearMonthDescriptor
,IncludeDescriptor
,IncludeTypeDescriptor
,InterfaceDescriptor
,KeyGeneratorDefDescriptor
,LdapDescriptor
,ListClassDescriptor
,LocaleDescriptor
,ManyToManyDescriptor
,MappingRootDescriptor
,MapToDescriptor
,MonthDescriptor
,NamedNativeQueryDescriptor
,NamedQueryDescriptor
,NamingTypeDescriptor
,NamingXMLTypeDescriptor
,OneToManyDescriptor
,OneToOneDescriptor
,PackageTypeChoiceDescriptor
,PackageTypeDescriptor
,ParamDescriptor
,PkTypeDescriptor
,PrimaryKeyDescriptor
,PrimitivesClassDescriptor
,PropertyDescriptor
,PropertyTypeDescriptor
,QueryHintDescriptor
,ReadonlyDirtyTypeDescriptor
,RecurringDurationDescriptor
,RootArrayDescriptor
,SQLDateClassDescriptor
,SqlDescriptor
,SqlDirtyTypeDescriptor
,SQLTimeClassDescriptor
,SQLTimestampClassDescriptor
,StringClassDescriptor
,TableAccessModeTypeDescriptor
,TableDescriptor
,TimeDescriptor
,TimeDurationDescriptor
,TimePeriodDescriptor
,VectorClassDescriptor
,VisibilityTypeDescriptor
,XMLClassDescriptorAdapter
,XMLClassDescriptorImpl
,YearDescriptor
A class descriptor for describing relationships between a Class
and an XML element or complexType. This class implements
org.exolab.castor.mapping.ClassDescriptor, yet adds
extra methods for handling XML.
All fields are of type
XMLFieldDescriptor
.- Version:
- $Revision: 7297 $ $Date: 2004-12-16 22:42:04 -0700 (Thu, 16 Dec 2004) $
- Author:
- Keith Visco
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns true if the given object, represented by this XMLClassDescriptor, can accept a value for the member associated with the given xml name and namespace.void
checkDescriptorForCorrectOrderWithinSequence
(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 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.getFieldDescriptor
(String name, String namespace, NodeType nodeType) Returns the XML field descriptor matching the given xml name, namespace, and nodeType.Returns the namespace prefix to use when marshalling as XML.Returns the namespace URI used when marshalling and unmarshalling as XML.Returns a specific validator for the class described by this ClassDescriptor.Returns the XML Name for the Class being described.boolean
isChoice()
Indicates whether the XML artifact described by this descriptor is a invalid input: '<'xsd:choice>.Methods inherited from interface org.exolab.castor.mapping.ClassDescriptor
getExtends, getFields, getIdentity, getJavaClass
Methods inherited from interface org.castor.core.nature.NatureExtendable
addNature, hasNature
Methods inherited from interface org.castor.core.nature.PropertyHolder
getProperty, setProperty
-
Method Details
-
getAttributeDescriptors
XMLFieldDescriptor[] getAttributeDescriptors()Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML attributes. This includes namespace nodes.- Returns:
- an array of XMLFieldDescriptors for all members that should be marshalled as XML attributes.
-
getContentDescriptor
XMLFieldDescriptor getContentDescriptor()Returns the XMLFieldDescriptor for the member that should be marshalled as text content.- Returns:
- the XMLFieldDescriptor for the member that should be marshalled as text content.
-
getElementDescriptors
XMLFieldDescriptor[] getElementDescriptors()Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML elements.- 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, namespace, and nodeType. If NodeType is null, then either an AttributeDescriptor, or ElementDescriptor may be returned. Null is returned if no matching descriptor is available.- Parameters:
name
- The xml name to match against.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
String getNameSpacePrefix()Returns the namespace prefix to use when marshalling as XML.- Returns:
- the namespace prefix to use when marshalling as XML.
-
getNameSpaceURI
String getNameSpaceURI()Returns the namespace URI used when marshalling and unmarshalling as XML.- Returns:
- the namespace URI used when marshalling and unmarshalling as XML.
-
getValidator
TypeValidator getValidator()Returns a specific validator for the class described by this ClassDescriptor. A null value may be returned if no specific validator exists.- Returns:
- the type validator for the class described by this ClassDescriptor.
-
getXMLName
String getXMLName()Returns the XML Name for the Class being described.- Returns:
- the XML name.
-
canAccept
Returns 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).
- 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.
-
checkDescriptorForCorrectOrderWithinSequence
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- Parameters:
elementDescriptor
- The XML field descriptor to be checkedxmlName
- TODO- Throws:
ValidationException
- If the descriptor is not the one expected
-
isChoice
boolean isChoice()Indicates whether the XML artifact described by this descriptor is a invalid input: '<'xsd:choice>.- Returns:
- True if the artifact described is a choice.
-