Qizx/open API

net.axyana.qizxopen.dm
Class TreeEncoder

java.lang.Object
  extended bynet.axyana.qizxopen.dm.TreeEncoder
All Implemented Interfaces:
XMLEventReceiver

public class TreeEncoder
extends java.lang.Object
implements XMLEventReceiver

Encodes the sub-tree of a Node into binary representation, which can be deserialized by TreeDecoder. This is a Data Model-specific form of serialization.

The root node can be of any kind, with or without parent and siblings, but its deserialized counterpart will always be a top-level node without parent and siblings.


Constructor Summary
TreeEncoder()
           
TreeEncoder(ByteOutput output)
           
 
Method Summary
 void abort()
          Signals an error in the event flow.
 void definePrefixHints(NSPrefixMapping prefixes)
          Optional: defines a preferred prefix/namespace mapping for serialization.
 void emitAtom(java.lang.Object atom)
           
 void emitAttribute(QName name, java.lang.String value)
           
 void emitComment(java.lang.String contents)
           
 void emitDTD(java.lang.String name2, java.lang.String publicID, java.lang.String systemID)
           
 void emitEndDocument()
           
 void emitEndElement(QName name)
           
 void emitEndMark()
           
 void emitNamespace(java.lang.String prefix, java.lang.String uri)
           
 void emitPI(java.lang.String prefix, java.lang.String contents)
           
 void emitStartDocument()
           
 void emitStartElement(QName name)
           
 void emitText(java.lang.String contents)
           
 void encodeFONI(FONIDocument doc, int nodeId)
          Should not be called directly with a remote node, or the tree traversal will go through the network on each node!
 void evAtom(java.lang.Object value)
          A special atom with any value (serializable).
 void evAtomText(java.lang.String value)
          Text of an atom.
 void evAttribute(QName name, java.lang.String value)
          Adds an attribute on the current element.
 void evComment(java.lang.String value)
          A comment node.
 void evDocumentEnd()
          Ends a document.
 void evDocumentStart()
          Starts a document.
 void evDTD(java.lang.String name, java.lang.String publicID, java.lang.String systemID)
          DTD definition.
 void evElementEnd(QName name)
          Ends an element.
 void evElementStart(QName name)
          Starts an element.
 void evNamespace(java.lang.String prefix, java.lang.String uri)
          Adds a namespace node on the current element.
 void evPI(java.lang.String target, java.lang.String value)
          A processing-instruction node.
 void evText(java.lang.String value)
          Text chunk inside an element.
 void reset()
          Resets the state prior to use startDocument() or startElement().
 java.lang.String resolvePrefix(java.lang.String prefix)
          Resolves a prefix to an URI in the context of the current node.
 void terminate()
          Terminates a document or simple subtree.
 void traverse(FONIDocument document, int nodeId)
          Convenience method: traverses and generates a FONI document using this receiver.
 void traverse(Node node, boolean inScopeNS)
          Convenience method: traverses and generates a subtree into this receiver.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TreeEncoder

public TreeEncoder()

TreeEncoder

public TreeEncoder(ByteOutput output)
Method Detail

encodeFONI

public void encodeFONI(FONIDocument doc,
                       int nodeId)
                throws DataModelException,
                       java.io.IOException
Should not be called directly with a remote node, or the tree traversal will go through the network on each node!

Throws:
DataModelException
java.io.IOException

emitStartDocument

public void emitStartDocument()
                       throws DataModelException,
                              java.io.IOException
Throws:
DataModelException
java.io.IOException

emitEndDocument

public void emitEndDocument()
                     throws DataModelException,
                            java.io.IOException
Throws:
DataModelException
java.io.IOException

emitEndMark

public void emitEndMark()
                 throws DataModelException,
                        java.io.IOException
Throws:
DataModelException
java.io.IOException

emitDTD

public void emitDTD(java.lang.String name2,
                    java.lang.String publicID,
                    java.lang.String systemID)
             throws DataModelException,
                    java.io.IOException
Throws:
DataModelException
java.io.IOException

emitStartElement

public void emitStartElement(QName name)
                      throws DataModelException,
                             java.io.IOException
Throws:
DataModelException
java.io.IOException

emitEndElement

public void emitEndElement(QName name)
                    throws DataModelException,
                           java.io.IOException
Throws:
DataModelException
java.io.IOException

emitAttribute

public void emitAttribute(QName name,
                          java.lang.String value)
                   throws DataModelException,
                          java.io.IOException
Throws:
DataModelException
java.io.IOException

emitNamespace

public void emitNamespace(java.lang.String prefix,
                          java.lang.String uri)
                   throws DataModelException,
                          java.io.IOException
Throws:
DataModelException
java.io.IOException

emitText

public void emitText(java.lang.String contents)
              throws DataModelException,
                     java.io.IOException
Throws:
DataModelException
java.io.IOException

emitComment

public void emitComment(java.lang.String contents)
                 throws DataModelException,
                        java.io.IOException
Throws:
DataModelException
java.io.IOException

emitPI

public void emitPI(java.lang.String prefix,
                   java.lang.String contents)
            throws DataModelException,
                   java.io.IOException
Throws:
DataModelException
java.io.IOException

emitAtom

public void emitAtom(java.lang.Object atom)
              throws DataModelException,
                     java.io.IOException
Throws:
DataModelException
java.io.IOException

reset

public void reset()
Description copied from interface: XMLEventReceiver
Resets the state prior to use startDocument() or startElement().

Specified by:
reset in interface XMLEventReceiver

terminate

public void terminate()
               throws DataModelException
Description copied from interface: XMLEventReceiver
Terminates a document or simple subtree. May perform consistency checks.

Specified by:
terminate in interface XMLEventReceiver
Throws:
DataModelException

abort

public void abort()
           throws DataModelException
Description copied from interface: XMLEventReceiver
Signals an error in the event flow.

Specified by:
abort in interface XMLEventReceiver
Throws:
DataModelException

evDocumentStart

public void evDocumentStart()
                     throws DataModelException
Description copied from interface: XMLEventReceiver
Starts a document.

It is not called in the case only a fragment is generated.

Specified by:
evDocumentStart in interface XMLEventReceiver
Throws:
DataModelException

evDTD

public void evDTD(java.lang.String name,
                  java.lang.String publicID,
                  java.lang.String systemID)
           throws DataModelException
Description copied from interface: XMLEventReceiver
DTD definition.

Specified by:
evDTD in interface XMLEventReceiver
Throws:
DataModelException

evDocumentEnd

public void evDocumentEnd()
                   throws DataModelException
Description copied from interface: XMLEventReceiver
Ends a document. Must be balanced by a matching startDocument().

Specified by:
evDocumentEnd in interface XMLEventReceiver
Throws:
DataModelException

evElementStart

public void evElementStart(QName name)
                    throws DataModelException
Description copied from interface: XMLEventReceiver
Starts an element. Must be balanced by a matching endElement().

Specified by:
evElementStart in interface XMLEventReceiver
Throws:
DataModelException

evNamespace

public void evNamespace(java.lang.String prefix,
                        java.lang.String uri)
                 throws DataModelException
Description copied from interface: XMLEventReceiver
Adds a namespace node on the current element. Must follow startElement and precede any child. May be interleaved with attribute().

Specified by:
evNamespace in interface XMLEventReceiver
Throws:
DataModelException

evAttribute

public void evAttribute(QName name,
                        java.lang.String value)
                 throws DataModelException
Description copied from interface: XMLEventReceiver
Adds an attribute on the current element. Must follow startElement and precede any child. May be interleaved with namespace().

Specified by:
evAttribute in interface XMLEventReceiver
Throws:
DataModelException

evElementEnd

public void evElementEnd(QName name)
                  throws DataModelException
Description copied from interface: XMLEventReceiver
Ends an element. Discards prefix/namespace mappings possibly defined by the element.

Specified by:
evElementEnd in interface XMLEventReceiver
Throws:
DataModelException

evText

public void evText(java.lang.String value)
            throws DataModelException
Description copied from interface: XMLEventReceiver
Text chunk inside an element. No space is generated before or after.

Specified by:
evText in interface XMLEventReceiver
Throws:
DataModelException

evAtomText

public void evAtomText(java.lang.String value)
                throws DataModelException
Description copied from interface: XMLEventReceiver
Text of an atom. The difference with text() is that a space in requested between two atoms.

Specified by:
evAtomText in interface XMLEventReceiver
Throws:
DataModelException

evPI

public void evPI(java.lang.String target,
                 java.lang.String value)
          throws DataModelException
Description copied from interface: XMLEventReceiver
A processing-instruction node.

Specified by:
evPI in interface XMLEventReceiver
Throws:
DataModelException

evComment

public void evComment(java.lang.String value)
               throws DataModelException
Description copied from interface: XMLEventReceiver
A comment node.

Specified by:
evComment in interface XMLEventReceiver
Throws:
DataModelException

evAtom

public void evAtom(java.lang.Object value)
            throws DataModelException
Description copied from interface: XMLEventReceiver
A special atom with any value (serializable).

Specified by:
evAtom in interface XMLEventReceiver
Throws:
DataModelException

traverse

public void traverse(Node node,
                     boolean inScopeNS)
              throws DataModelException
Description copied from interface: XMLEventReceiver
Convenience method: traverses and generates a subtree into this receiver.

Specified by:
traverse in interface XMLEventReceiver
Parameters:
inScopeNS - if true, copy all in-scope namespace nodes (not only those defined on the node itself). A false value is generally used.
Throws:
DataModelException

traverse

public void traverse(FONIDocument document,
                     int nodeId)
              throws DataModelException
Description copied from interface: XMLEventReceiver
Convenience method: traverses and generates a FONI document using this receiver.

Specified by:
traverse in interface XMLEventReceiver
Throws:
DataModelException

resolvePrefix

public java.lang.String resolvePrefix(java.lang.String prefix)
Description copied from interface: XMLEventReceiver
Resolves a prefix to an URI in the context of the current node.

Specified by:
resolvePrefix in interface XMLEventReceiver
Returns:
null if the prefix cannot be resolved.

definePrefixHints

public void definePrefixHints(NSPrefixMapping prefixes)
Description copied from interface: XMLEventReceiver
Optional: defines a preferred prefix/namespace mapping for serialization. This table is used when no mapping is in scope in the current context.

Specified by:
definePrefixHints in interface XMLEventReceiver

© 2005 Axyana Software