Class XTalkToSAX

java.lang.Object
org.apache.vinci.transport.document.XTalkToSAX

public class XTalkToSAX extends Object
Class for converting XTalk streams into SAX events.
  • Field Details

  • Constructor Details

    • XTalkToSAX

      public XTalkToSAX()
    • XTalkToSAX

      public XTalkToSAX(int bufSize)
  • Method Details

    • 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.
    • 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.
    • parse

      public void parse(InputStream is, ContentHandler handler) throws IOException, 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.
      Throws:
      IOException - if underlying IOException from the stream or if XTalk format is invalid.
      SAXException - if SAXException thrown by the handler
    • doTopLevelParse

      private void doTopLevelParse() throws IOException, SAXException
      Throws:
      IOException
      SAXException
    • doProcessingInstruction

      private void doProcessingInstruction() throws IOException, SAXException
      Throws:
      IOException
      SAXException
    • ensureCapacity

      private void ensureCapacity(int bytesToRead)
    • consumeString

      private String consumeString() throws IOException
      Throws:
      IOException
    • doElement

      private void doElement() throws IOException, SAXException
      Throws:
      IOException
      SAXException