|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.exolab.castor.xml.Introspector
public final class Introspector
A Helper class for the Marshaller and Unmarshaller, basically the common code base between the two. This class handles the introspection to dynamically create descriptors.
Nested Class Summary | |
---|---|
(package private) class |
Introspector.IdentityConvertor
A special TypeConvertor that simply returns the object given. |
(package private) class |
Introspector.MethodSet
A simple struct for holding a set of accessor methods |
Field Summary | |
---|---|
static java.lang.String |
WRAP_COLLECTIONS_PROPERTY
The property name for enabling collection wrapping. |
Constructor Summary | |
---|---|
Introspector()
Creates a new instance of the Introspector |
Method Summary | |
---|---|
void |
addFieldHandlerFactory(FieldHandlerFactory factory)
Registers the given "generalized" FieldHandlerFactory with this Introspector. |
XMLClassDescriptor |
generateClassDescriptor(java.lang.Class c)
Creates an XMLClassDescriptor for the given class by using Reflection. |
XMLClassDescriptor |
generateClassDescriptor(java.lang.Class c,
java.io.PrintWriter errorWriter)
Creates an XMLClassDescriptor for the given class by using Reflection. |
NodeType |
getPrimitiveNodeType()
Returns the NodeType for java primitives |
static boolean |
introspected(XMLClassDescriptor descriptor)
Returns true if the given XMLClassDescriptor was created via introspection |
static boolean |
isCollection(java.lang.Class clazz)
Returns true if the given Class is an instance of a collection class. |
static boolean |
isMapCollection(java.lang.Class clazz)
Returns true if the given Class is an instance of a collection class. |
static boolean |
marshallable(java.lang.Class type)
Returns true if the given Class can be marshalled. |
boolean |
removeFieldHandlerFactory(FieldHandlerFactory factory)
Removes the given FieldHandlerFactory from this Introspector |
void |
setNaming(XMLNaming naming)
Sets the Naming conventions to be used by the Introspector |
void |
setPrimitiveNodeType(NodeType nodeType)
Sets the NodeType for primitives. |
void |
setSaveMapKeys(boolean saveMapKeys)
Sets whether or not keys from Hastable / Map instances should be saved in the XML. |
void |
setWrapCollections(boolean wrapCollections)
Sets whether or not collections (arrays, vectors, etc) should be wrapped in a container element. |
static java.lang.String |
toJavaName(java.lang.String name,
boolean upperFirst)
Converts the given xml name to a Java name. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String WRAP_COLLECTIONS_PROPERTY
<foos> <foo>foo1</foo> <foo>foo2</foo> </foos> instead of the default: <foos>foo1<foos> <foos>foo2</foos>Use this property with a value of true or false in the castor.properties file org.exolab.castor.xml.introspector.wrapCollections=true -or- org.exolab.castor.xml.introspector.wrapCollections=false This property is false by default.
Constructor Detail |
---|
public Introspector()
Method Detail |
---|
public void addFieldHandlerFactory(FieldHandlerFactory factory)
factory
- the FieldHandlerFactory to add to this
introspector
java.lang.IllegalArgumentException
- if the given factory is nullpublic NodeType getPrimitiveNodeType()
public XMLClassDescriptor generateClassDescriptor(java.lang.Class c) throws MarshalException
c
- the Class to create the XMLClassDescriptor for
MarshalException
- when an error occurs during the creation
of the ClassDescriptor.public XMLClassDescriptor generateClassDescriptor(java.lang.Class c, java.io.PrintWriter errorWriter) throws MarshalException
c
- the Class to create the XMLClassDescriptor forerrorWriter
- a PrintWriter to print error information to
MarshalException
- when an error occurs during the creation
of the ClassDescriptor.public boolean removeFieldHandlerFactory(FieldHandlerFactory factory)
factory
- the FieldHandlerFactory to remove
java.lang.IllegalArgumentException
- if the given factory is nullpublic void setWrapCollections(boolean wrapCollections)
<foos> <foo>foo1</foo> <foo>foo2</foo> </foos> instead of the default: <foos>foo1<foos> <foos>foo2</foos>
wrapCollections
- a boolean that when true indicates
collections should be wrapped in a container element.public static boolean introspected(XMLClassDescriptor descriptor)
public static boolean marshallable(java.lang.Class type)
type
- the Class to check marshallability for.
public void setNaming(XMLNaming naming)
naming
- the implementation of Naming to use. A
value of null, will reset the XMLNaming to the
default specified in the castor.properties file.public void setPrimitiveNodeType(NodeType nodeType)
nodeType
- the NodeType to use for primitive values.public void setSaveMapKeys(boolean saveMapKeys)
Note: This is true by default since Castor 0.9.5.3
saveMapKeys
- a boolean that when true indicates keys
from Hashtable or Map instances should be saved. Otherwise
only the value object is saved.public static java.lang.String toJavaName(java.lang.String name, boolean upperFirst)
name
- the name to convert to a Java NameupperFirst
- a flag to indicate whether or not the
the first character should be converted to uppercase.public static boolean isCollection(java.lang.Class clazz)
loadCollections
public static boolean isMapCollection(java.lang.Class clazz)
loadCollections
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |