|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.exolab.castor.xml.UnmarshalHandler
public final class UnmarshalHandler
An unmarshaller to allowing unmarshaling of XML documents to Java Objects. The Class must specify the proper access methods (setters/getters) in order for instances of the Class to be properly unmarshaled.
Nested Class Summary | |
---|---|
static class |
MarshalFramework.InheritanceMatch
Used to store the information when we find a possible inheritance. |
static class |
UnmarshalHandler.ArrayHandler
A class for handling Arrays during unmarshalling. |
Field Summary | |
---|---|
static java.lang.String |
LANG_ATTR
The xml:lang attribute, without the "xml:" prefix. |
static java.lang.String |
NIL_ATTR
The xsi:nil attribute, without the "xsi:" prefix. |
static java.lang.String |
SPACE_ATTR
The xml:space attribute name, without the "xml:" prefix. |
static java.lang.String |
TRUE_VALUE
The value of 'true'. |
static java.lang.String |
TYPE_ATTR
The xsi:type attribute name, without the "xsi:" prefix. |
static java.lang.String |
XML_LANG_ATTR
The xml:lang attribute name. |
static java.lang.String |
XML_SPACE_ATTR
The xml:space attribute name. |
static java.lang.String |
XSI_NAMESPACE
The XSI Namespace URI. |
static java.lang.String |
XSI_NIL_ATTR
The xsi:nil attribute. |
static java.lang.String |
XSI_NO_NAMESPACE_SCHEMA_LOCATION
The name of the no namespace schema location attribute. |
static java.lang.String |
XSI_SCHEMA_LOCATION
The name of the Schema location attribute. |
Constructor Summary | |
---|---|
protected |
UnmarshalHandler()
Creates a new UnmarshalHandler The "root" class will be obtained by looking into the mapping for a descriptor that matches the root element. |
protected |
UnmarshalHandler(java.lang.Class<?> topClass)
Creates a new UnmarshalHandler. |
protected |
UnmarshalHandler(InternalContext internalContext,
java.lang.Class<?> topClass)
Creates a new UnmarshalHandler. |
Method Summary | |
---|---|
void |
addNamespaceToPackageMapping(java.lang.String nsURI,
java.lang.String packageName)
Adds a mapping from the given namespace URI to the given package name |
void |
characters(char[] ch,
int start,
int length)
|
void |
endDocument()
|
void |
endElement(java.lang.String name)
|
void |
endElement(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName)
ContentHandler#endElement |
void |
endPrefixMapping(java.lang.String prefix)
Signals to end the namespace prefix mapping |
void |
error(org.xml.sax.SAXParseException exception)
|
void |
fatalError(org.xml.sax.SAXParseException exception)
|
CollectionHandler |
getCollectionHandler(java.lang.Class clazz)
Returns the CollectionHandler associated with the given collection, or null if no such handler exists. |
java.lang.Object |
getCurrentObject()
Returns the Object that the UnmarshalHandler is currently handling (within the object model), or null if the current element is a simpleType. |
org.xml.sax.Locator |
getDocumentLocator()
|
InternalContext |
getInternalContext()
To get the AbstractInternalContext to use. |
JavaNaming |
getJavaNaming()
To get the JavaNaming instance to be used. |
java.lang.Object |
getObject()
Returns the "root" Object (ie. |
ObjectFactory |
getObjectFactory()
Returns the ObjectFactory instance in use. |
void |
ignorableWhitespace(char[] ch,
int start,
int length)
|
static boolean |
isCollection(java.lang.Class clazz)
Returns true if the given Class is a considered a collection by the marshalling framework. |
static boolean |
namespaceEquals(java.lang.String ns1,
java.lang.String ns2)
Compares the given namespaces (as strings) for equality. |
void |
processingInstruction(java.lang.String target,
java.lang.String data)
|
protected MarshalFramework.InheritanceMatch[] |
searchInheritance(java.lang.String name,
java.lang.String namespace,
XMLClassDescriptor classDesc)
Search there is a field descriptor which can accept one of the class descriptor which match the given name and namespace. |
void |
setClassLoader(java.lang.ClassLoader loader)
Sets the ClassLoader to use when loading classes |
void |
setClearCollections(boolean clear)
Sets whether or not to clear collections (including arrays) upon first use to remove default values. |
void |
setDebug(boolean debug)
Deprecated. |
void |
setDocumentLocator(org.xml.sax.Locator locator)
|
void |
setIDResolver(IDResolver idResolver)
Sets the IDResolver to use when resolving IDREFs for which no associated element may exist in XML document. |
void |
setIgnoreExtraAttributes(boolean ignoreExtraAtts)
Sets whether or not attributes that do not match a specific field should simply be ignored or reported as an error. |
void |
setIgnoreExtraElements(boolean ignoreExtraElems)
Sets whether or not elements that do not match a specific field should simply be ignored or reported as an error. |
void |
setInternalContext(InternalContext internalContext)
To set the AbstractInternalContext to use. |
void |
setLogWriter(java.io.PrintWriter printWriter)
Deprecated. |
void |
setObjectFactory(ObjectFactory objectFactory)
Sets a (custom) ObjectFactory instance. |
void |
setReuseObjects(boolean reuse)
Sets a boolean that when true indicates that objects contained within the object model should be re-used where appropriate. |
void |
setRootObject(java.lang.Object root)
Sets the root (top-level) object to use for unmarshalling into. |
void |
setUnmarshalListener(UnmarshalListener listener)
Deprecated. please move to the new UnmarshalListener interface |
void |
setUnmarshalListener(UnmarshalListener listener)
Sets an UnmarshalListener . |
void |
setValidation(boolean validate)
Sets the flag for validation. |
void |
setWhitespacePreserve(boolean preserve)
Sets the top-level whitespace (xml:space) to either preserving or non preserving. |
void |
skippedEntity(java.lang.String name)
Signals that an entity was skipped by the parser |
void |
startDocument()
Signals the start of a new document |
void |
startElement(java.lang.String name,
org.xml.sax.AttributeList attList)
DocumentHandler#startElement |
void |
startElement(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes atts)
ContentHandler#startElement |
void |
startPrefixMapping(java.lang.String prefix,
java.lang.String uri)
Signals to start the namespace - prefix mapping |
static java.lang.Object |
toPrimitiveObject(java.lang.Class type,
java.lang.String value)
Converts a String to the given primitive object type. |
void |
warning(org.xml.sax.SAXParseException exception)
|
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 XSI_NAMESPACE
public static final java.lang.String XSI_SCHEMA_LOCATION
public static final java.lang.String XSI_NO_NAMESPACE_SCHEMA_LOCATION
public static final java.lang.String XML_LANG_ATTR
public static final java.lang.String LANG_ATTR
public static final java.lang.String NIL_ATTR
public static final java.lang.String XSI_NIL_ATTR
public static final java.lang.String XML_SPACE_ATTR
public static final java.lang.String SPACE_ATTR
public static final java.lang.String TYPE_ATTR
public static final java.lang.String TRUE_VALUE
Constructor Detail |
---|
protected UnmarshalHandler()
protected UnmarshalHandler(java.lang.Class<?> topClass)
topClass
- the Class to create the UnmarshalHandler forprotected UnmarshalHandler(InternalContext internalContext, java.lang.Class<?> topClass)
internalContext
- the InternalContext
to usetopClass
- the Class to work forMethod Detail |
---|
public void addNamespaceToPackageMapping(java.lang.String nsURI, java.lang.String packageName)
nsURI
- the namespace URI to map frompackageName
- the package name to map topublic java.lang.Object getCurrentObject()
public java.lang.Object getObject()
public void setClassLoader(java.lang.ClassLoader loader)
loader
- the ClassLoader to usepublic void setClearCollections(boolean clear)
clear
- the boolean value that when true indicates
collections should be cleared upon first use.public void setDebug(boolean debug)
public void setIDResolver(IDResolver idResolver)
idResolver
- the IDResolver to use when resolving
IDREFs for which no associated element may exist in the
XML document.public void setIgnoreExtraAttributes(boolean ignoreExtraAtts)
ignoreExtraAtts
- a boolean that when true will
allow non-matched attributes to simply be ignored.public void setIgnoreExtraElements(boolean ignoreExtraElems)
ignoreExtraElems
- a boolean that when true will
allow non-matched attributes to simply be ignored.public void setLogWriter(java.io.PrintWriter printWriter)
public void setReuseObjects(boolean reuse)
reuse
- the boolean indicating whether or not
to re-use existing objects in the object model.public void setRootObject(java.lang.Object root)
root
- the instance to unmarshal into.public void setUnmarshalListener(UnmarshalListener listener)
UnmarshalListener
interface
UnmarshalListener
.
listener
- the UnmarshalListener
to use with this instance
of the UnmarshalHandler.public void setUnmarshalListener(UnmarshalListener listener)
UnmarshalListener
.
listener
- the UnmarshalListener
to use with this instance
of the UnmarshalHandler.public void setValidation(boolean validate)
validate
- A boolean to indicate whether or not validation should be done
during umarshalling.
public void setWhitespacePreserve(boolean preserve)
preserve
- a boolean that when true enables
whitespace preserving by default.public void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException
characters
in interface org.xml.sax.ContentHandler
characters
in interface org.xml.sax.DocumentHandler
org.xml.sax.SAXException
public void endDocument() throws org.xml.sax.SAXException
endDocument
in interface org.xml.sax.ContentHandler
endDocument
in interface org.xml.sax.DocumentHandler
org.xml.sax.SAXException
public void endElement(java.lang.String name) throws org.xml.sax.SAXException
endElement
in interface org.xml.sax.DocumentHandler
org.xml.sax.SAXException
public void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException
ContentHandler#endElement
Signals the end of an element
endElement
in interface org.xml.sax.ContentHandler
localName
- The name of the element.
org.xml.sax.SAXException
public void endPrefixMapping(java.lang.String prefix) throws org.xml.sax.SAXException
endPrefixMapping
in interface org.xml.sax.ContentHandler
prefix
- the namespace prefix
org.xml.sax.SAXException
public void ignorableWhitespace(char[] ch, int start, int length) throws org.xml.sax.SAXException
ignorableWhitespace
in interface org.xml.sax.ContentHandler
ignorableWhitespace
in interface org.xml.sax.DocumentHandler
org.xml.sax.SAXException
public void processingInstruction(java.lang.String target, java.lang.String data) throws org.xml.sax.SAXException
processingInstruction
in interface org.xml.sax.ContentHandler
processingInstruction
in interface org.xml.sax.DocumentHandler
org.xml.sax.SAXException
public void setDocumentLocator(org.xml.sax.Locator locator)
setDocumentLocator
in interface org.xml.sax.ContentHandler
setDocumentLocator
in interface org.xml.sax.DocumentHandler
public org.xml.sax.Locator getDocumentLocator()
public void skippedEntity(java.lang.String name) throws org.xml.sax.SAXException
skippedEntity
in interface org.xml.sax.ContentHandler
name
- the skipped entity's name
org.xml.sax.SAXException
public void startDocument() throws org.xml.sax.SAXException
startDocument
in interface org.xml.sax.ContentHandler
startDocument
in interface org.xml.sax.DocumentHandler
org.xml.sax.SAXException
public void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts) throws org.xml.sax.SAXException
ContentHandler#startElement
Signals the start of element.
startElement
in interface org.xml.sax.ContentHandler
localName
- The name of the element.atts
- The AttributeList containing the associated attributes for the element.
org.xml.sax.SAXException
public void startElement(java.lang.String name, org.xml.sax.AttributeList attList) throws org.xml.sax.SAXException
DocumentHandler#startElement
Signals the start of element.
startElement
in interface org.xml.sax.DocumentHandler
name
- The name of the element.attList
- The AttributeList containing the associated attributes for the
element.
org.xml.sax.SAXException
public void startPrefixMapping(java.lang.String prefix, java.lang.String uri) throws org.xml.sax.SAXException
startPrefixMapping
in interface org.xml.sax.ContentHandler
prefix
- the namespace prefix to mapuri
- the namespace URI
org.xml.sax.SAXException
public void error(org.xml.sax.SAXParseException exception) throws org.xml.sax.SAXException
error
in interface org.xml.sax.ErrorHandler
org.xml.sax.SAXException
public void fatalError(org.xml.sax.SAXParseException exception) throws org.xml.sax.SAXException
fatalError
in interface org.xml.sax.ErrorHandler
org.xml.sax.SAXException
public void warning(org.xml.sax.SAXParseException exception) throws org.xml.sax.SAXException
warning
in interface org.xml.sax.ErrorHandler
org.xml.sax.SAXException
public static java.lang.Object toPrimitiveObject(java.lang.Class type, java.lang.String value)
String
to the given primitive object type.
type
- the class type of the primitive in which
to convert the String tovalue
- the String
to convert to a primitive
Object
public ObjectFactory getObjectFactory()
public void setObjectFactory(ObjectFactory objectFactory)
objectFactory
- A (custom) ObjectFactory instancepublic JavaNaming getJavaNaming()
JavaNaming
instance to be used.
public InternalContext getInternalContext()
AbstractInternalContext
to use.
AbstractInternalContext
to usepublic void setInternalContext(InternalContext internalContext)
AbstractInternalContext
to use.
internalContext
- the AbstractInternalContext
to usepublic static boolean isCollection(java.lang.Class clazz)
clazz
- the Class to check
public CollectionHandler getCollectionHandler(java.lang.Class clazz)
clazz
- the Class to check
public static boolean namespaceEquals(java.lang.String ns1, java.lang.String ns2)
ns1
- the namespace to compare to argument ns2ns2
- the namespace to compare to argument ns1
protected MarshalFramework.InheritanceMatch[] searchInheritance(java.lang.String name, java.lang.String namespace, XMLClassDescriptor classDesc) throws MarshalException
name
- XML name of the fieldnamespace
- namespace of the fieldclassDesc
- the class descriptor to match againstcdResolver
- the class descriptor resolver to use
MarshalException
- if the resolver called fails fatally
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |