Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.axis.encoding
Class DeserializationContext  view DeserializationContext download DeserializationContext.java

java.lang.Object
  extended byorg.xml.sax.helpers.DefaultHandler
      extended byorg.apache.axis.encoding.DeserializationContext
All Implemented Interfaces:
org.xml.sax.ContentHandler, javax.xml.rpc.encoding.DeserializationContext, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler

public class DeserializationContext
extends org.xml.sax.helpers.DefaultHandler
implements javax.xml.rpc.encoding.DeserializationContext, org.xml.sax.ext.LexicalHandler

This interface describes the AXIS DeserializationContext, note that an AXIS compliant DeserializationContext must extend the org.xml.sax.helpers.DefaultHandler.


Nested Class Summary
private static class DeserializationContext.LocalIDResolver
          This class is used to map ID's to an actual value Object or Message
private static class DeserializationContext.NullLexicalHandler
          It is illegal to set the lexical-handler property to null.
 
Field Summary
private  org.apache.axis.message.MessageElement curElement
           
private  boolean debugEnabled
           
private static java.lang.Class[] DESERIALIZER_CLASSES
           
private static java.lang.String DESERIALIZER_METHOD
           
private  java.lang.Class destClass
           
private  boolean doneParsing
           
private  org.apache.axis.message.SOAPEnvelope envelope
           
private  java.util.HashMap fixups
           
protected  boolean haveSeenSchemaNS
           
private  java.util.HashMap idMap
           
protected  org.xml.sax.InputSource inputSource
           
private  DeserializationContext.LocalIDResolver localIDs
           
private  org.xml.sax.Locator locator
           
protected static org.apache.commons.logging.Log log
           
protected  org.apache.axis.MessageContext msgContext
           
private  org.apache.axis.utils.NSStack namespaces
           
(package private) static org.apache.axis.message.SOAPHandler nullHandler
           
private static DeserializationContext.NullLexicalHandler nullLexicalHandler
          We only need one instance of this dummy handler to set into the parsers.
(package private)  boolean processingRef
           
private  java.util.ArrayList pushedDownHandlers
           
private  org.apache.axis.message.SAX2EventRecorder recorder
           
(package private) static org.apache.axis.schema.SchemaVersion[] schemaVersions
           
private  org.apache.axis.soap.SOAPConstants soapConstants
           
protected  int startOfMappingsPos
           
private  org.apache.axis.message.SOAPHandler topHandler
           
 
Constructor Summary
DeserializationContext(org.xml.sax.InputSource is, org.apache.axis.MessageContext ctx, java.lang.String messageType)
          Construct Deserializer
DeserializationContext(org.xml.sax.InputSource is, org.apache.axis.MessageContext ctx, java.lang.String messageType, org.apache.axis.message.SOAPEnvelope env)
          Construct Deserializer
DeserializationContext(org.apache.axis.MessageContext ctx, org.apache.axis.message.SOAPHandler initialHandler)
          Construct Deserializer using MessageContext and EnvelopeBuilder handler
 
Method Summary
 void addObjectById(java.lang.String id, java.lang.Object obj)
          Add the object associated with this id (where id is the value of an id= attribute, i.e.
 void characters(char[] p1, int p2, int p3)
          Receive notification of character data inside an element.
 void comment(char[] ch, int start, int length)
          Report an XML comment anywhere in the document.
 void deserializing(boolean isDeserializing)
           
 void endCDATA()
          Report the end of a CDATA section.
 void endDocument()
          endDocument is invoked at the end of the document.
 void endDTD()
          Report the end of DTD declarations.
 void endElement(java.lang.String namespace, java.lang.String localName, java.lang.String qName)
          endElement is called at the end tag of an element
 void endEntity(java.lang.String name)
          Report the end of an entity.
 void endPrefixMapping(java.lang.String prefix)
          Receive notification of the end of a Namespace mapping.
 org.apache.axis.message.MessageElement getCurElement()
          Get current MessageElement
 java.util.ArrayList getCurrentNSMappings()
          Get the Namespace Mappings.
 int getCurrentRecordPos()
          Get the current position in the record.
 Deserializer getDeserializer(java.lang.Class cls, javax.xml.namespace.QName xmlType)
          Get a Deserializer which can turn a given xml type into a given Java type
 Deserializer getDeserializerForClass(java.lang.Class cls)
          Convenience method to get the Deserializer for a specific java class from its meta data.
 Deserializer getDeserializerForType(javax.xml.namespace.QName xmlType)
          Convenience method to get the Deserializer for a specific xmlType.
 java.lang.Class getDestinationClass()
          Allows the destination class to be retrieved so that downstream deserializers like ArrayDeserializer can pick it up when deserializing its components using getDeserializerForClass
 org.xml.sax.Locator getDocumentLocator()
           
 org.apache.axis.message.MessageElement getElementByID(java.lang.String id)
          Get the MessageElement for the indicated id (where id is the #value of an href) If the MessageElement has not been processed, the MessageElement will be returned.
 java.lang.String getEncodingStyle()
          Returns this context's encoding style.
 org.apache.axis.message.SOAPEnvelope getEnvelope()
          Get Envelope
 org.apache.axis.MessageContext getMessageContext()
          Get MessageContext
 java.lang.String getNamespaceURI(java.lang.String prefix)
          Get the Namespace for a particular prefix
 java.lang.Object getObjectByRef(java.lang.String href)
          Gets the MessageElement or actual Object value associated with the href value.
 javax.xml.namespace.QName getQNameFromString(java.lang.String qNameStr)
          Construct a QName from a string of the form :
 org.apache.axis.message.SAX2EventRecorder getRecorder()
          Get Event Recorder
 org.apache.axis.soap.SOAPConstants getSOAPConstants()
          returns the soap constants.
 int getStartOfMappingsPos()
          Get the start of the mapping position
 javax.xml.namespace.QName getTypeFromAttributes(java.lang.String namespace, java.lang.String localName, org.xml.sax.Attributes attrs)
          Create a QName for the type of the element defined by localName and namespace with the specified attributes.
 javax.xml.namespace.QName getTypeFromXSITypeAttr(java.lang.String namespace, java.lang.String localName, org.xml.sax.Attributes attrs)
          Create a QName for the type of the element defined by localName and namespace from the XSI type.
 TypeMapping getTypeMapping()
          Get the TypeMapping for this DeserializationContext
 TypeMappingRegistry getTypeMappingRegistry()
          Get the TypeMappingRegistry we're using.
 boolean hasElementsByID()
          Return true if any ids are being tracked by this DeserializationContext
 void ignorableWhitespace(char[] p1, int p2, int p3)
          Receive notification of ignorable whitespace in element content.
 boolean isDoneParsing()
          Return if done parsing document.
 boolean isNil(org.xml.sax.Attributes attrs)
          Convenenience method that returns true if the value is nil (due to the xsi:nil) attribute.
 boolean isProcessingRef()
           
 void parse()
          Create a parser and parse the inputSource
 org.apache.axis.message.SOAPHandler popElementHandler()
           
 void processingInstruction(java.lang.String p1, java.lang.String p2)
          Receive notification of a processing instruction.
 void pushElementHandler(org.apache.axis.message.SOAPHandler handler)
          Management of sub-handlers (deserializers)
 void pushNewElement(org.apache.axis.message.MessageElement elem)
          Push the MessageElement into the recorder
 void registerElementByID(java.lang.String id, org.apache.axis.message.MessageElement elem)
          Register the MessageElement with this id (where id is id= form without the #) This routine is called when the MessageElement with an id is read.
 void registerFixup(java.lang.String href, Deserializer dser)
          During deserialization, an element with an href=#id may be encountered before the element defining id=id is read.
 void registerResolverForID(java.lang.String id, org.apache.axis.message.IDResolver resolver)
          Each id can have its own kind of resolver.
 void replaceElementHandler(org.apache.axis.message.SOAPHandler handler)
          Replace the handler at the top of the stack.
 org.xml.sax.InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId)
          Resolve an external entity.
 void setCurElement(org.apache.axis.message.MessageElement el)
          Set current MessageElement
 void setDestinationClass(java.lang.Class destClass)
          Allows the destination class to be set so that downstream deserializers like ArrayDeserializer can pick it up when deserializing its components using getDeserializerForClass
 void setDocumentLocator(org.xml.sax.Locator locator)
          Receive a Locator object for document events.
 void setProcessingRef(boolean ref)
           
 void setRecorder(org.apache.axis.message.SAX2EventRecorder recorder)
          Set Event Recorder
 void skippedEntity(java.lang.String p1)
          Receive notification of a skipped entity.
 void startCDATA()
          Report the start of a CDATA section.
 void startDocument()
          SAX event handlers
 void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
          Report the start of DTD declarations, if any.
 void startElement(java.lang.String namespace, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)
          startElement is called when an element is read.
 void startEntity(java.lang.String name)
          Report the beginning of some internal and external XML entities.
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
          Record the current set of prefix mappings in the nsMappings table.
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
error, fatalError, notationDecl, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.apache.commons.logging.Log log

debugEnabled

private final boolean debugEnabled

schemaVersions

static final org.apache.axis.schema.SchemaVersion[] schemaVersions

namespaces

private org.apache.axis.utils.NSStack namespaces

locator

private org.xml.sax.Locator locator

destClass

private java.lang.Class destClass

topHandler

private org.apache.axis.message.SOAPHandler topHandler

pushedDownHandlers

private java.util.ArrayList pushedDownHandlers

recorder

private org.apache.axis.message.SAX2EventRecorder recorder

envelope

private org.apache.axis.message.SOAPEnvelope envelope

idMap

private java.util.HashMap idMap

localIDs

private DeserializationContext.LocalIDResolver localIDs

fixups

private java.util.HashMap fixups

nullHandler

static final org.apache.axis.message.SOAPHandler nullHandler

msgContext

protected org.apache.axis.MessageContext msgContext

doneParsing

private boolean doneParsing

inputSource

protected org.xml.sax.InputSource inputSource

curElement

private org.apache.axis.message.MessageElement curElement

startOfMappingsPos

protected int startOfMappingsPos

DESERIALIZER_CLASSES

private static final java.lang.Class[] DESERIALIZER_CLASSES

DESERIALIZER_METHOD

private static final java.lang.String DESERIALIZER_METHOD
See Also:
Constant Field Values

haveSeenSchemaNS

protected boolean haveSeenSchemaNS

soapConstants

private org.apache.axis.soap.SOAPConstants soapConstants

processingRef

boolean processingRef

nullLexicalHandler

private static final DeserializationContext.NullLexicalHandler nullLexicalHandler
We only need one instance of this dummy handler to set into the parsers.

Constructor Detail

DeserializationContext

public DeserializationContext(org.apache.axis.MessageContext ctx,
                              org.apache.axis.message.SOAPHandler initialHandler)
Construct Deserializer using MessageContext and EnvelopeBuilder handler


DeserializationContext

public DeserializationContext(org.xml.sax.InputSource is,
                              org.apache.axis.MessageContext ctx,
                              java.lang.String messageType)
Construct Deserializer


DeserializationContext

public DeserializationContext(org.xml.sax.InputSource is,
                              org.apache.axis.MessageContext ctx,
                              java.lang.String messageType,
                              org.apache.axis.message.SOAPEnvelope env)
Construct Deserializer

Method Detail

deserializing

public void deserializing(boolean isDeserializing)

getSOAPConstants

public org.apache.axis.soap.SOAPConstants getSOAPConstants()
returns the soap constants.


parse

public void parse()
           throws org.xml.sax.SAXException
Create a parser and parse the inputSource


getCurElement

public org.apache.axis.message.MessageElement getCurElement()
Get current MessageElement


setCurElement

public void setCurElement(org.apache.axis.message.MessageElement el)
Set current MessageElement


getMessageContext

public org.apache.axis.MessageContext getMessageContext()
Get MessageContext


getEncodingStyle

public java.lang.String getEncodingStyle()
Returns this context's encoding style. If we've got a message context then we'll get the style from that; otherwise we'll return a default.


getEnvelope

public org.apache.axis.message.SOAPEnvelope getEnvelope()
Get Envelope


getRecorder

public org.apache.axis.message.SAX2EventRecorder getRecorder()
Get Event Recorder


setRecorder

public void setRecorder(org.apache.axis.message.SAX2EventRecorder recorder)
Set Event Recorder


getCurrentNSMappings

public java.util.ArrayList getCurrentNSMappings()
Get the Namespace Mappings. Returns null if none are present.


getNamespaceURI

public java.lang.String getNamespaceURI(java.lang.String prefix)
Get the Namespace for a particular prefix


getQNameFromString

public javax.xml.namespace.QName getQNameFromString(java.lang.String qNameStr)
Construct a QName from a string of the form :


getTypeFromXSITypeAttr

public javax.xml.namespace.QName getTypeFromXSITypeAttr(java.lang.String namespace,
                                                        java.lang.String localName,
                                                        org.xml.sax.Attributes attrs)
Create a QName for the type of the element defined by localName and namespace from the XSI type.


getTypeFromAttributes

public javax.xml.namespace.QName getTypeFromAttributes(java.lang.String namespace,
                                                       java.lang.String localName,
                                                       org.xml.sax.Attributes attrs)
Create a QName for the type of the element defined by localName and namespace with the specified attributes.


isNil

public boolean isNil(org.xml.sax.Attributes attrs)
Convenenience method that returns true if the value is nil (due to the xsi:nil) attribute.


getDeserializer

public final Deserializer getDeserializer(java.lang.Class cls,
                                          javax.xml.namespace.QName xmlType)
Get a Deserializer which can turn a given xml type into a given Java type


getDeserializerForClass

public Deserializer getDeserializerForClass(java.lang.Class cls)
Convenience method to get the Deserializer for a specific java class from its meta data.


setDestinationClass

public void setDestinationClass(java.lang.Class destClass)
Allows the destination class to be set so that downstream deserializers like ArrayDeserializer can pick it up when deserializing its components using getDeserializerForClass


getDestinationClass

public java.lang.Class getDestinationClass()
Allows the destination class to be retrieved so that downstream deserializers like ArrayDeserializer can pick it up when deserializing its components using getDeserializerForClass


getDeserializerForType

public final Deserializer getDeserializerForType(javax.xml.namespace.QName xmlType)
Convenience method to get the Deserializer for a specific xmlType.


getTypeMapping

public TypeMapping getTypeMapping()
Get the TypeMapping for this DeserializationContext


getTypeMappingRegistry

public TypeMappingRegistry getTypeMappingRegistry()
Get the TypeMappingRegistry we're using.


getElementByID

public org.apache.axis.message.MessageElement getElementByID(java.lang.String id)
Get the MessageElement for the indicated id (where id is the #value of an href) If the MessageElement has not been processed, the MessageElement will be returned. If the MessageElement has been processed, the actual object value is stored with the id and this routine will return null.


getObjectByRef

public java.lang.Object getObjectByRef(java.lang.String href)
Gets the MessageElement or actual Object value associated with the href value. The return of a MessageElement indicates that the referenced element has not been processed. If it is not a MessageElement, the Object is the actual deserialized value. In addition, this method is invoked to get Object values via Attachments.


addObjectById

public void addObjectById(java.lang.String id,
                          java.lang.Object obj)
Add the object associated with this id (where id is the value of an id= attribute, i.e. it does not start with #). This routine is called to associate the deserialized object with the id specified on the XML element.


registerFixup

public void registerFixup(java.lang.String href,
                          Deserializer dser)
During deserialization, an element with an href=#id may be encountered before the element defining id=id is read. In these cases, the getObjectByRef method above will return null. The deserializer is placed in a table keyed by href (a fixup table). After the element id is processed, the deserializer is informed of the value so that it can update its target(s) with the value.


registerElementByID

public void registerElementByID(java.lang.String id,
                                org.apache.axis.message.MessageElement elem)
Register the MessageElement with this id (where id is id= form without the #) This routine is called when the MessageElement with an id is read. If there is a Deserializer in our fixup list (described above), the 'fixup' deserializer is given to the MessageElement. When the MessageElement is completed, the 'fixup' deserializer is informed and it can set its targets.


registerResolverForID

public void registerResolverForID(java.lang.String id,
                                  org.apache.axis.message.IDResolver resolver)
Each id can have its own kind of resolver. This registers a resolver for the id.


hasElementsByID

public boolean hasElementsByID()
Return true if any ids are being tracked by this DeserializationContext


getCurrentRecordPos

public int getCurrentRecordPos()
Get the current position in the record.


getStartOfMappingsPos

public int getStartOfMappingsPos()
Get the start of the mapping position


pushNewElement

public void pushNewElement(org.apache.axis.message.MessageElement elem)
Push the MessageElement into the recorder


pushElementHandler

public void pushElementHandler(org.apache.axis.message.SOAPHandler handler)
Management of sub-handlers (deserializers)


replaceElementHandler

public void replaceElementHandler(org.apache.axis.message.SOAPHandler handler)
Replace the handler at the top of the stack. This is only used when we have a placeholder Deserializer for a referenced object which doesn't know its type until we hit the referent.


popElementHandler

public org.apache.axis.message.SOAPHandler popElementHandler()

setProcessingRef

public void setProcessingRef(boolean ref)

isProcessingRef

public boolean isProcessingRef()

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
SAX event handlers

Specified by:
startDocument in interface org.xml.sax.ContentHandler

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
endDocument is invoked at the end of the document.

Specified by:
endDocument in interface org.xml.sax.ContentHandler

isDoneParsing

public boolean isDoneParsing()
Return if done parsing document.


startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Record the current set of prefix mappings in the nsMappings table. !!! We probably want to have this mapping be associated with the MessageElements, since they may potentially need access to them long after the end of the prefix mapping here. (example: when we need to record a long string of events scanning forward in the document to find an element with a particular ID.)

Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
Description copied from class: org.xml.sax.helpers.DefaultHandler
Receive notification of the end of a Namespace mapping.

By default, do nothing. Application writers may override this method in a subclass to take specific actions at the end of each prefix mapping.

Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
Description copied from class: org.xml.sax.helpers.DefaultHandler
Receive a Locator object for document events.

By default, do nothing. Application writers may override this method in a subclass if they wish to store the locator for use with other document events.

Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler

getDocumentLocator

public org.xml.sax.Locator getDocumentLocator()

characters

public void characters(char[] p1,
                       int p2,
                       int p3)
                throws org.xml.sax.SAXException
Description copied from class: org.xml.sax.helpers.DefaultHandler
Receive notification of character data inside an element.

By default, do nothing. Application writers may override this method to take specific actions for each chunk of character data (such as adding the data to a node or buffer, or printing it to a file).

Specified by:
characters in interface org.xml.sax.ContentHandler

ignorableWhitespace

public void ignorableWhitespace(char[] p1,
                                int p2,
                                int p3)
                         throws org.xml.sax.SAXException
Description copied from class: org.xml.sax.helpers.DefaultHandler
Receive notification of ignorable whitespace in element content.

By default, do nothing. Application writers may override this method to take specific actions for each chunk of ignorable whitespace (such as adding data to a node or buffer, or printing it to a file).

Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler

processingInstruction

public void processingInstruction(java.lang.String p1,
                                  java.lang.String p2)
                           throws org.xml.sax.SAXException
Description copied from class: org.xml.sax.helpers.DefaultHandler
Receive notification of a processing instruction.

By default, do nothing. Application writers may override this method in a subclass to take specific actions for each processing instruction, such as setting status variables or invoking other methods.

Specified by:
processingInstruction in interface org.xml.sax.ContentHandler

skippedEntity

public void skippedEntity(java.lang.String p1)
                   throws org.xml.sax.SAXException
Description copied from class: org.xml.sax.helpers.DefaultHandler
Receive notification of a skipped entity.

By default, do nothing. Application writers may override this method in a subclass to take specific actions for each processing instruction, such as setting status variables or invoking other methods.

Specified by:
skippedEntity in interface org.xml.sax.ContentHandler

startElement

public void startElement(java.lang.String namespace,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes attributes)
                  throws org.xml.sax.SAXException
startElement is called when an element is read. This is the big work-horse. This guy also handles monitoring the recording depth if we're recording (so we know when to stop).

Specified by:
startElement in interface org.xml.sax.ContentHandler

endElement

public void endElement(java.lang.String namespace,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
endElement is called at the end tag of an element

Specified by:
endElement in interface org.xml.sax.ContentHandler

startDTD

public void startDTD(java.lang.String name,
                     java.lang.String publicId,
                     java.lang.String systemId)
              throws org.xml.sax.SAXException
Description copied from interface: org.xml.sax.ext.LexicalHandler
Report the start of DTD declarations, if any.

This method is intended to report the beginning of the DOCTYPE declaration; if the document has no DOCTYPE declaration, this method will not be invoked.

All declarations reported through DTDHandler or DeclHandler events must appear between the startDTD and endDTD 55 events. Declarations are assumed to belong to the internal DTD subset unless they appear between startEntity 55 and endEntity 55 events. Comments and processing instructions from the DTD should also be reported between the startDTD and endDTD events, in their original order of (logical) occurrence; they are not required to appear in their correct locations relative to DTDHandler or DeclHandler events, however.

Note that the start/endDTD events will appear within the start/endDocument events from ContentHandler and before the first startElement 55 event.

Specified by:
startDTD in interface org.xml.sax.ext.LexicalHandler

endDTD

public void endDTD()
            throws org.xml.sax.SAXException
Description copied from interface: org.xml.sax.ext.LexicalHandler
Report the end of DTD declarations.

This method is intended to report the end of the DOCTYPE declaration; if the document has no DOCTYPE declaration, this method will not be invoked.

Specified by:
endDTD in interface org.xml.sax.ext.LexicalHandler

startEntity

public void startEntity(java.lang.String name)
                 throws org.xml.sax.SAXException
Description copied from interface: org.xml.sax.ext.LexicalHandler
Report the beginning of some internal and external XML entities.

The reporting of parameter entities (including the external DTD subset) is optional, and SAX2 drivers that report LexicalHandler events may not implement it; you can use the http://xml.org/sax/features/lexical-handler/parameter-entities feature to query or control the reporting of parameter entities.

General entities are reported with their regular names, parameter entities have '%' prepended to their names, and the external DTD subset has the pseudo-entity name "[dtd]".

When a SAX2 driver is providing these events, all other events must be properly nested within start/end entity events. There is no additional requirement that events from DeclHandler or DTDHandler be properly ordered.

Note that skipped entities will be reported through the skippedEntity 55 event, which is part of the ContentHandler interface.

Because of the streaming event model that SAX uses, some entity boundaries cannot be reported under any circumstances:

  • general entities within attribute values
  • parameter entities within declarations

These will be silently expanded, with no indication of where the original entity boundaries were.

Note also that the boundaries of character references (which are not really entities anyway) are not reported.

All start/endEntity events must be properly nested.

Specified by:
startEntity in interface org.xml.sax.ext.LexicalHandler

endEntity

public void endEntity(java.lang.String name)
               throws org.xml.sax.SAXException
Description copied from interface: org.xml.sax.ext.LexicalHandler
Report the end of an entity.

Specified by:
endEntity in interface org.xml.sax.ext.LexicalHandler

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Description copied from interface: org.xml.sax.ext.LexicalHandler
Report the start of a CDATA section.

The contents of the CDATA section will be reported through the regular characters 55 event; this event is intended only to report the boundary.

Specified by:
startCDATA in interface org.xml.sax.ext.LexicalHandler

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Description copied from interface: org.xml.sax.ext.LexicalHandler
Report the end of a CDATA section.

Specified by:
endCDATA in interface org.xml.sax.ext.LexicalHandler

comment

public void comment(char[] ch,
                    int start,
                    int length)
             throws org.xml.sax.SAXException
Description copied from interface: org.xml.sax.ext.LexicalHandler
Report an XML comment anywhere in the document.

This callback will be used for comments inside or outside the document element, including comments in the external DTD subset (if read). Comments in the DTD must be properly nested inside start/endDTD and start/endEntity events (if used).

Specified by:
comment in interface org.xml.sax.ext.LexicalHandler

resolveEntity

public org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
                                             java.lang.String systemId)
Description copied from class: org.xml.sax.helpers.DefaultHandler
Resolve an external entity.

Always return null, so that the parser will use the system identifier provided in the XML document. This method implements the SAX default behaviour: application writers can override it in a subclass to do special translations such as catalog lookups or URI redirection.

Specified by:
resolveEntity in interface org.xml.sax.EntityResolver