org.exolab.castor.xml.descriptors
Class RootArrayDescriptor

java.lang.Object
  extended by org.exolab.castor.xml.descriptors.RootArrayDescriptor
All Implemented Interfaces:
ClassDescriptor, XMLClassDescriptor

public class RootArrayDescriptor
extends java.lang.Object
implements XMLClassDescriptor

The default class descriptor for Arrays that are passed in as the root-level class.

Version:
$Revision: 6806 $ $Date: 2004-12-16 22:49:25 -0700 (Thu, 16 Dec 2004) $
Author:
Keith Visco

Constructor Summary
RootArrayDescriptor(java.lang.Class array)
          Creates a new RootArrayDescriptor for an array of the provided type.
 
Method Summary
 boolean canAccept(java.lang.String name, java.lang.String namespace, java.lang.Object object)
          Returns true if the given object represented by this XMLClassDescriptor can accept a member whose name is given.
 void checkDescriptorForCorrectOrderWithinSequence(XMLFieldDescriptor elementDescriptor, UnmarshalState parentState, java.lang.String xmlName)
          Checks whether the given XMLFieldDescriptor is the one actually expected, given the natural order as defined by a sequence definition
 AccessMode getAccessMode()
          Returns the access mode specified for this class.
 XMLFieldDescriptor[] getAttributeDescriptors()
          Returns the set of attribute XMLFieldDescriptors.
 XMLFieldDescriptor getContentDescriptor()
          Returns the descriptor for dealing with Text content.
 XMLFieldDescriptor[] getElementDescriptors()
          Returns the set of element MarshalDescriptors.
 ClassDescriptor getExtends()
          Returns the class descriptor of the class extended by this class.
 XMLFieldDescriptor getFieldDescriptor(java.lang.String name, java.lang.String namespace, NodeType nodeType)
          Returns the XML field descriptor matching the given xml name and nodeType.
 FieldDescriptor[] getFields()
          Returns a list of fields represented by this descriptor.
 FieldDescriptor getIdentity()
          Returns the identity field, or null if this class has no identity.
 java.lang.Class getJavaClass()
          Returns the Class that this ClassDescriptor describes.
 java.lang.String getNameSpacePrefix()
          Returns the namespace prefix to use when marshalling as XML.
 java.lang.String getNameSpaceURI()
          Returns the namespace URI used when marshaling and unmarshaling as XML.
 TypeValidator getValidator()
          Returns a specific validator for the class described by this ClassDescriptor.
 java.lang.String getXMLName()
          Returns the XML Name for the Class being described.
 void setNameSpaceURI(java.lang.String nsURI)
          Sets the desired namespace URI for the described object.
 void setXMLName(java.lang.String xmlName)
          Sets the XML Name for the described object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RootArrayDescriptor

public RootArrayDescriptor(java.lang.Class array)
Creates a new RootArrayDescriptor for an array of the provided type.

Parameters:
array - An array to create a RootArrayDescriptor for.
Method Detail

getAttributeDescriptors

public XMLFieldDescriptor[] getAttributeDescriptors()
Returns the set of attribute XMLFieldDescriptors.

Specified by:
getAttributeDescriptors in interface XMLClassDescriptor
Returns:
an array of XMLFieldDescriptors for all members that should be marshaled as attributes

getJavaClass

public java.lang.Class getJavaClass()
Returns the Class that this ClassDescriptor describes.

Specified by:
getJavaClass in interface ClassDescriptor
Returns:
the Class that this ClassDescriptor describes.

getElementDescriptors

public XMLFieldDescriptor[] getElementDescriptors()
Returns the set of element MarshalDescriptors.

Specified by:
getElementDescriptors in interface XMLClassDescriptor
Returns:
an array of MarshalDescriptors for all members that should be marshaled as Elements

getExtends

public ClassDescriptor getExtends()
Returns the class descriptor of the class extended by this class.

Specified by:
getExtends in interface ClassDescriptor
Returns:
The extended class descriptor

getFields

public FieldDescriptor[] getFields()
Returns a list of fields represented by this descriptor.

Specified by:
getFields in interface ClassDescriptor
Returns:
A list of fields

getContentDescriptor

public XMLFieldDescriptor getContentDescriptor()
Returns the descriptor for dealing with Text content.

Specified by:
getContentDescriptor in interface XMLClassDescriptor
Returns:
the XMLFieldDescriptor for dealing with Text content

getFieldDescriptor

public XMLFieldDescriptor getFieldDescriptor(java.lang.String name,
                                             java.lang.String namespace,
                                             NodeType nodeType)
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:
getFieldDescriptor in interface XMLClassDescriptor
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

public java.lang.String getNameSpacePrefix()
Returns the namespace prefix to use when marshalling as XML.

Specified by:
getNameSpacePrefix in interface XMLClassDescriptor
Returns:
the namespace prefix to use when marshalling as XML.

getNameSpaceURI

public java.lang.String getNameSpaceURI()
Returns the namespace URI used when marshaling and unmarshaling as XML.

Specified by:
getNameSpaceURI in interface XMLClassDescriptor
Returns:
the namespace URI used when marshaling and unmarshaling as XML.

getIdentity

public FieldDescriptor getIdentity()
Returns the identity field, or null if this class has no identity.

Specified by:
getIdentity in interface ClassDescriptor
Returns:
The identity field

getAccessMode

public AccessMode getAccessMode()
Returns the access mode specified for this class.

Returns:
The access mode

getValidator

public TypeValidator 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:
getValidator in interface XMLClassDescriptor
Returns:
the type validator for the class described by this ClassDescriptor.

getXMLName

public java.lang.String getXMLName()
Returns the XML Name for the Class being described.

Specified by:
getXMLName in interface XMLClassDescriptor
Returns:
the XML name.

setXMLName

public void setXMLName(java.lang.String xmlName)
Sets the XML Name for the described object.

Parameters:
xmlName - the XML name to use for the described object.

setNameSpaceURI

public void setNameSpaceURI(java.lang.String nsURI)
Sets the desired namespace URI for the described object.

Parameters:
nsURI - is the desired namespace URI

canAccept

public boolean canAccept(java.lang.String name,
                         java.lang.String namespace,
                         java.lang.Object object)
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 contain other objects), in this particular case the implementation return false.

Specified by:
canAccept in interface XMLClassDescriptor
Parameters:
name - the xml name of the field to check
namespace - the namespace uri
object - 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,
                                                         java.lang.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:
checkDescriptorForCorrectOrderWithinSequence in interface XMLClassDescriptor
Parameters:
elementDescriptor - The XML field descriptor to be checked
xmlName - TODO
Throws:
ValidationException - If the descriptor is not the one expected
See Also:
checkDescriptorForCorrectOrderWithinSequence(org.exolab.castor.xml.XMLFieldDescriptor, org.exolab.castor.xml.UnmarshalState, java.lang.String)


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