org.exolab.castor.types

Class BaseDescriptor

public class BaseDescriptor extends Object implements XMLClassDescriptor

The Base Descriptor class, this class is extended by the descriptors for the custom Castor schema types.

Version: $Revision: 1.1 $ $Date: 2003/04/23 06:34:14 $

Author: Keith Visco

Field Summary
protected static XMLFieldDescriptor[]noXMLFields
Used for returning no attribute and no element fields
Constructor Summary
protected BaseDescriptor(String xmlName, Class type)
Method Summary
booleancanAccept(String fieldName, Object object)

Returns true if the given object represented by this XMLClassDescriptor can accept a member whose name is given.

AccessModegetAccessMode()
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.
XMLFieldDescriptorgetContentDescriptor()
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.
ClassDescriptorgetExtends()
Returns the class descriptor of the class extended by this class.
XMLFieldDescriptorgetFieldDescriptor(String name, 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.
FieldDescriptorgetIdentity()
Returns the identity field, null if this class has no identity.
ClassgetJavaClass()
Returns the Java class represented by this descriptor.
StringgetNameSpacePrefix()
StringgetNameSpaceURI()
TypeValidatorgetValidator()
Returns a specific validator for the class described by this ClassDescriptor.
StringgetXMLName()
Returns the XML Name for the Class being described.
StringtoString()
Returns the String representation of this XMLClassDescriptor

Field Detail

noXMLFields

protected static final XMLFieldDescriptor[] noXMLFields
Used for returning no attribute and no element fields

Constructor Detail

BaseDescriptor

protected BaseDescriptor(String xmlName, Class type)

Method Detail

canAccept

public boolean canAccept(String fieldName, 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 contains other object), in this particular case the implementation will return null.

Parameters: fieldName the name of the field to check 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.

getAccessMode

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

Returns: The access mode

getAttributeDescriptors

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

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.

Returns: the XMLFieldDescriptor for the member that should be marshalled as text content.

getElementDescriptors

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

getExtends

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

Returns: The extended class descriptor

getFieldDescriptor

public XMLFieldDescriptor getFieldDescriptor(String name, 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.

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.

getFields

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

Returns: A list of fields

getIdentity

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

Returns: The identity field

getJavaClass

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

Returns: The Java class

getNameSpacePrefix

public String getNameSpacePrefix()

Returns: the namespace prefix to use when marshalling as XML.

getNameSpaceURI

public String getNameSpaceURI()

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.

Returns: the type validator for the class described by this ClassDescriptor.

getXMLName

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

Returns: the XML name.

toString

public String toString()
Returns the String representation of this XMLClassDescriptor

Returns: the String representation of this XMLClassDescriptor

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