org.exolab.castor.mapping.loader

Class ClassDescriptorImpl

Implemented Interfaces:
ClassDescriptor
Known Direct Subclasses:
JDOClassDescriptor

public class ClassDescriptorImpl
extends java.lang.Object
implements ClassDescriptor

A basic class descriptor implementation. Engines will extend this class to provide additional functionality.
Version:
$Revision: 6230 $ $Date: 2006-01-07 15:48:31 -0700 (Sat, 07 Jan 2006) $
Author:
Assaf Arkin

Field Summary

protected FieldDescriptor[]
_fields
The fields described for this class.
protected FieldDescriptor[]
_identities
The field of the identity for this class.

Constructor Summary

ClassDescriptorImpl(Class javaClass)
Constructor used by derived classes.
ClassDescriptorImpl(ClassDescriptorImpl clsDesc)
Constructs a new descriptor for the specified class.
ClassDescriptorImpl(ClassMapping map, Class javaClass, FieldDescriptor[] fields, FieldDescriptor[] identities, ClassDescriptor extend, ClassDescriptor depend)

Method Summary

void
addExtendedBy(ClassDescriptor classDesc)
void
checkValidity(Object object)
Checks the object validity.
AccessMode
getAccessMode()
ClassDescriptor
getDepends()
Collection
getExtendedBy()
Returns a collection of class descriptors that extend this class descriptor.
ClassDescriptor
getExtends()
FieldDescriptor[]
getFields()
FieldDescriptor[]
getIdentities()
FieldDescriptor
getIdentity()
Class
getJavaClass()
ClassMapping
getMapping()
boolean
isExtended()
boolean
isExtending()
String
toString()

Field Details

_fields

protected final FieldDescriptor[] _fields
The fields described for this class.

_identities

protected final FieldDescriptor[] _identities
The field of the identity for this class.

Constructor Details

ClassDescriptorImpl

protected ClassDescriptorImpl(Class javaClass)
Constructor used by derived classes.

ClassDescriptorImpl

public ClassDescriptorImpl(ClassDescriptorImpl clsDesc)
            throws MappingException
Constructs a new descriptor for the specified class. When describing inheritence, the descriptor of the parent class should be used and only the fields added in this object must be supplied here.
Throws:
MappingException - The extended descriptor does not match a parent class of this type

ClassDescriptorImpl

public ClassDescriptorImpl(ClassMapping map,
                           Class javaClass,
                           FieldDescriptor[] fields,
                           FieldDescriptor[] identities,
                           ClassDescriptor extend,
                           ClassDescriptor depend)
            throws MappingException

Method Details

addExtendedBy

public void addExtendedBy(ClassDescriptor classDesc)

checkValidity

public void checkValidity(Object object)
            throws ValidityException,
                   IllegalStateException
Checks the object validity. Returns successfully if the object can be stored, is valid, etc, throws an exception otherwise.
Parameters:
object - The object
Throws:
ValidityException - The object is invalid, a required is null, or any other validity violation

getAccessMode

public AccessMode getAccessMode()
Specified by:
getAccessMode in interface ClassDescriptor

getDepends

public ClassDescriptor getDepends()

getExtendedBy

public Collection getExtendedBy()
Returns a collection of class descriptors that extend this class descriptor.
Returns:
A collection of class descriptors.

getExtends

public ClassDescriptor getExtends()
Specified by:
getExtends in interface ClassDescriptor

getFields

public FieldDescriptor[] getFields()
Specified by:
getFields in interface ClassDescriptor

getIdentities

public FieldDescriptor[] getIdentities()

getIdentity

public FieldDescriptor getIdentity()
Specified by:
getIdentity in interface ClassDescriptor

getJavaClass

public Class getJavaClass()
Specified by:
getJavaClass in interface ClassDescriptor

getMapping

public ClassMapping getMapping()

isExtended

public boolean isExtended()

isExtending

public boolean isExtending()

toString

public String toString()

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