org.exolab.castor.xml
Class MarshalFramework.InternalXMLClassDescriptor

java.lang.Object
  extended by org.exolab.castor.xml.MarshalFramework.InternalXMLClassDescriptor
All Implemented Interfaces:
ClassDescriptor, XMLClassDescriptor
Enclosing class:
MarshalFramework

 class MarshalFramework.InternalXMLClassDescriptor
extends java.lang.Object
implements XMLClassDescriptor

An internal implementation of XMLClassDescriptor used by the Unmarshaller and Marshaller...


Constructor Summary
protected MarshalFramework.InternalXMLClassDescriptor(XMLClassDescriptor classDesc)
          Creates a new InternalXMLClassDescriptor for the given XMLClassDescriptor
 
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 value for the member associated with the given xml name and namespace.
 AccessMode getAccessMode()
          Returns the access mode specified for this class.
 XMLFieldDescriptor[] getAttributeDescriptors()
          Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML attributes.
 XMLClassDescriptor getClassDescriptor()
          Returns the XMLClassDescriptor that this InternalXMLClassDescriptor wraps.
 XMLFieldDescriptor getContentDescriptor()
          Returns the XMLFieldDescriptor for the member that should be marshalled as text content.
 XMLFieldDescriptor[] getElementDescriptors()
          Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML elements.
 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, null if this class has no identity.
 java.lang.Class getJavaClass()
          Returns the Java class represented by this descriptor.
 java.lang.String getNameSpacePrefix()
          Returns the namespace prefix to use when marshalling as XML.
 java.lang.String getNameSpaceURI()
          Returns the namespace URI used when marshalling and unmarshalling 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.
 boolean introspected()
          Returns true if the wrapped ClassDescriptor was created by introspection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MarshalFramework.InternalXMLClassDescriptor

protected MarshalFramework.InternalXMLClassDescriptor(XMLClassDescriptor classDesc)
Creates a new InternalXMLClassDescriptor for the given XMLClassDescriptor

Method Detail

getClassDescriptor

public XMLClassDescriptor getClassDescriptor()
Returns the XMLClassDescriptor that this InternalXMLClassDescriptor wraps.

Returns:
the XMLClassDescriptor

getAttributeDescriptors

public XMLFieldDescriptor[] getAttributeDescriptors()
Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML attributes. This includes namespace nodes.

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

getContentDescriptor

public XMLFieldDescriptor getContentDescriptor()
Returns the XMLFieldDescriptor for the member that should be marshalled as text content.

Specified by:
getContentDescriptor in interface XMLClassDescriptor
Returns:
the XMLFieldDescriptor for the member that should be marshalled as 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
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.

getElementDescriptors

public XMLFieldDescriptor[] getElementDescriptors()
Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML elements.

Specified by:
getElementDescriptors in interface XMLClassDescriptor
Returns:
an array of XMLFieldDescriptors for all members that should be marshalled as XML elements.

getNameSpacePrefix

public java.lang.String getNameSpacePrefix()
Description copied from interface: XMLClassDescriptor
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()
Description copied from interface: XMLClassDescriptor
Returns the namespace URI used when marshalling and unmarshalling as XML.

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

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.

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

public boolean canAccept(java.lang.String name,
                         java.lang.String namespace,
                         java.lang.Object object)
Description copied from interface: XMLClassDescriptor

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).

Specified by:
canAccept in interface XMLClassDescriptor
Parameters:
name - the xml name of the field to check
namespace - the namespace uri
object - 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.

getJavaClass

public java.lang.Class getJavaClass()
Returns the Java class represented by this descriptor.

Specified by:
getJavaClass in interface ClassDescriptor
Returns:
The Java class

getFields

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

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

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

getIdentity

public FieldDescriptor getIdentity()
Returns the identity field, 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.

Specified by:
getAccessMode in interface ClassDescriptor
Returns:
The access mode


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