org.apache.ws.jaxme.impl
Class JMUnmarshallerHandlerImpl

java.lang.Object
  extended by org.apache.ws.jaxme.impl.JMUnmarshallerHandlerImpl
All Implemented Interfaces:
UnmarshallerHandler, Observer, org.xml.sax.ContentHandler

public class JMUnmarshallerHandlerImpl
extends java.lang.Object
implements UnmarshallerHandler, Observer

Implementation of a JMUnmarshallerHandler; the UnmarshallerHandler receives SAX events which he silently discards, as long as the first startElement event is seen. Depending on namespace URI and local name, the Unmarshallerhandler creates a new instance of JMHandler and from now on forwards all SAX events to the JMHandler.

Version:
$Id: JMUnmarshallerHandlerImpl.java 231705 2004-01-07 02:07:20Z jochen $
Author:
Jochen Wiedmann

Constructor Summary
JMUnmarshallerHandlerImpl()
           
 
Method Summary
 void characters(char[] pChars, int pStart, int pLen)
           
 void endDocument()
           
 void endElement(java.lang.String pNamespaceURI, java.lang.String pLocalName, java.lang.String pQName)
           
 void endPrefixMapping(java.lang.String pPrefix)
           
 JMUnmarshaller getJMUnmarshaller()
           
 java.lang.Object getResult()
          Returns the unmarshalled object.
 void ignorableWhitespace(char[] pChars, int pStart, int pLen)
           
 void notify(java.lang.Object pObject)
          The Observable indicates that its state has changed.
 void processingInstruction(java.lang.String pTarget, java.lang.String pData)
           
 void setDocumentLocator(org.xml.sax.Locator pLocator)
           
 void setJMUnmarshaller(JMUnmarshaller pUnmarshaller)
           
 void skippedEntity(java.lang.String pName)
           
 void startDocument()
           
 void startElement(java.lang.String pNamespaceURI, java.lang.String pLocalName, java.lang.String pQName, org.xml.sax.Attributes pAttr)
           
 void startPrefixMapping(java.lang.String pPrefix, java.lang.String pURI)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JMUnmarshallerHandlerImpl

public JMUnmarshallerHandlerImpl()
Method Detail

setJMUnmarshaller

public void setJMUnmarshaller(JMUnmarshaller pUnmarshaller)

getJMUnmarshaller

public JMUnmarshaller getJMUnmarshaller()

notify

public void notify(java.lang.Object pObject)
Description copied from interface: Observer

The Observable indicates that its state has changed. The Observer must inspect the Observable to detect what exactly has changed.

Specified by:
notify in interface Observer

getResult

public java.lang.Object getResult()
                           throws JAXBException,
                                  java.lang.IllegalStateException
Description copied from interface: UnmarshallerHandler

Returns the unmarshalled object. This method may be invoked after an endDocument() event only. An IllegalStateException is thrown otherwise.

Specified by:
getResult in interface UnmarshallerHandler
Returns:
The unmarshalled object, never null. (An IllegalStateException is thrown, if no data is available.
Throws:
JAXBException - An error occurred. Note, that the UnmarshallerHandler throws a SAXException if an error occurs while unmarshalling the object. In such cases the JAXBException is typically nested within the SAXException.
java.lang.IllegalStateException - An endDocument() event has not yet been seen and no data is available.

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator pLocator)
Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Specified by:
startDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Specified by:
endDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startPrefixMapping

public void startPrefixMapping(java.lang.String pPrefix,
                               java.lang.String pURI)
                        throws org.xml.sax.SAXException
Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endPrefixMapping

public void endPrefixMapping(java.lang.String pPrefix)
                      throws org.xml.sax.SAXException
Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startElement

public void startElement(java.lang.String pNamespaceURI,
                         java.lang.String pLocalName,
                         java.lang.String pQName,
                         org.xml.sax.Attributes pAttr)
                  throws org.xml.sax.SAXException
Specified by:
startElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endElement

public void endElement(java.lang.String pNamespaceURI,
                       java.lang.String pLocalName,
                       java.lang.String pQName)
                throws org.xml.sax.SAXException
Specified by:
endElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

characters

public void characters(char[] pChars,
                       int pStart,
                       int pLen)
                throws org.xml.sax.SAXException
Specified by:
characters in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

ignorableWhitespace

public void ignorableWhitespace(char[] pChars,
                                int pStart,
                                int pLen)
                         throws org.xml.sax.SAXException
Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

processingInstruction

public void processingInstruction(java.lang.String pTarget,
                                  java.lang.String pData)
                           throws org.xml.sax.SAXException
Specified by:
processingInstruction in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

skippedEntity

public void skippedEntity(java.lang.String pName)
                   throws org.xml.sax.SAXException
Specified by:
skippedEntity in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException