Class XTalkToSAX


  • public class XTalkToSAX
    extends java.lang.Object
    Class for converting XTalk streams into SAX events.
    • Constructor Summary

      Constructors 
      Constructor Description
      XTalkToSAX()  
      XTalkToSAX​(int bufSize)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int bufferSize()
      Initially, the XTalkToSAX processor creates a byte buffer and char buffer of size INITIAL_BUF_SIZE.
      private java.lang.String consumeString()  
      private void doElement()  
      private void doProcessingInstruction()  
      private void doTopLevelParse()  
      private void ensureCapacity​(int bytesToRead)  
      private void init​(int bufSize)  
      void parse​(java.io.InputStream is, org.xml.sax.ContentHandler handler)
      Parse one document off of the incoming XTalk stream into SAX events.
      void resizeBuffers​(int toSize)
      Resets buffers to their initial size...
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • charBuffer

        private char[] charBuffer
      • byteBuffer

        private byte[] byteBuffer
      • workAttributes

        private org.xml.sax.helpers.AttributesImpl workAttributes
      • is

        private java.io.InputStream is
      • handler

        private org.xml.sax.ContentHandler handler
    • Constructor Detail

      • XTalkToSAX

        public XTalkToSAX()
      • XTalkToSAX

        public XTalkToSAX​(int bufSize)
    • Method Detail

      • init

        private void init​(int bufSize)
      • bufferSize

        public int bufferSize()
        Initially, the XTalkToSAX processor creates a byte buffer and char buffer of size INITIAL_BUF_SIZE. These buffer may grow during parsing to handle very large strings. Users can determine the size of these arrays with this method. This method in conjunction with resetBuffers lets application implement their own buffer management. Buffers can be reset during parsing, but not from another thread.
        Returns:
        -
      • resizeBuffers

        public void resizeBuffers​(int toSize)
        Resets buffers to their initial size... this is useful because buffers can grow during parsing and this allows the space to be reclaimed without having to undo references to the parser object.
        Parameters:
        toSize - -
      • parse

        public void parse​(java.io.InputStream is,
                          org.xml.sax.ContentHandler handler)
                   throws java.io.IOException,
                          org.xml.sax.SAXException
        Parse one document off of the incoming XTalk stream into SAX events. A side effect of parsing is that internal arrays will grow to the size of the largest character string encountered in the document. Use bufferSize() and resizeBuffers to manage memory in applications where very large strings may be encountered and the same object is used to parse many incoming documents.
        Parameters:
        is - -
        handler - -
        Throws:
        java.io.IOException - if underlying IOException from the stream or if XTalk format is invalid.
        org.xml.sax.SAXException - if SAXException thrown by the handler
      • doTopLevelParse

        private void doTopLevelParse()
                              throws java.io.IOException,
                                     org.xml.sax.SAXException
        Throws:
        java.io.IOException
        org.xml.sax.SAXException
      • doProcessingInstruction

        private void doProcessingInstruction()
                                      throws java.io.IOException,
                                             org.xml.sax.SAXException
        Throws:
        java.io.IOException
        org.xml.sax.SAXException
      • ensureCapacity

        private void ensureCapacity​(int bytesToRead)
      • consumeString

        private java.lang.String consumeString()
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • doElement

        private void doElement()
                        throws java.io.IOException,
                               org.xml.sax.SAXException
        Throws:
        java.io.IOException
        org.xml.sax.SAXException