org.apache.tika.sax
Class WriteOutContentHandler

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by org.apache.tika.sax.WriteOutContentHandler
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler
Direct Known Subclasses:
ProfilingHandler

public class WriteOutContentHandler
extends org.xml.sax.helpers.DefaultHandler

SAX event handler that writes all character content out to a Writer character stream.


Constructor Summary
WriteOutContentHandler()
          Creates a content handler that writes character events to an internal string buffer.
WriteOutContentHandler(int writeLimit)
          Creates a content handler that writes character events to an internal string buffer.
WriteOutContentHandler(java.io.OutputStream stream)
          Creates a content handler that writes character events to the given output stream using the default encoding.
WriteOutContentHandler(java.io.Writer writer)
          Creates a content handler that writes character events to the given writer.
 
Method Summary
 void characters(char[] ch, int start, int length)
          Writes the given characters to the given character stream.
 void endDocument()
          Flushes the character stream so that no characters are forgotten in internal buffers.
 void ignorableWhitespace(char[] ch, int start, int length)
          Writes the given ignorable characters to the given character stream.
 boolean isWriteLimitReached(java.lang.Throwable t)
          Checks whether the given exception (or any of it's root causes) was thrown by this handler as a signal of reaching the write limit.
 java.lang.String toString()
          Returns the contents of the internal string buffer where all the received characters have been collected.
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endElement, endPrefixMapping, error, fatalError, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WriteOutContentHandler

public WriteOutContentHandler(java.io.Writer writer)
Creates a content handler that writes character events to the given writer.

Parameters:
writer - writer

WriteOutContentHandler

public WriteOutContentHandler(java.io.OutputStream stream)
Creates a content handler that writes character events to the given output stream using the default encoding.

Parameters:
stream - output stream

WriteOutContentHandler

public WriteOutContentHandler(int writeLimit)
Creates a content handler that writes character events to an internal string buffer. Use the toString() method to access the collected character content.

The internal string buffer is bounded at the given number of characters. If this write limit is reached, then a SAXException is thrown. The isWriteLimitReached(Throwable) method can be used to detect this case.

Parameters:
writeLimit - maximum number of characters to include in the string, or -1 to disable the write limit
Since:
Apache Tika 0.7

WriteOutContentHandler

public WriteOutContentHandler()
Creates a content handler that writes character events to an internal string buffer. Use the toString() method to access the collected character content.

The internal string buffer is bounded at 100k characters. If this write limit is reached, then a SAXException is thrown. The isWriteLimitReached(Throwable) method can be used to detect this case.

Method Detail

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Writes the given characters to the given character stream.

Specified by:
characters in interface org.xml.sax.ContentHandler
Overrides:
characters in class org.xml.sax.helpers.DefaultHandler
Throws:
org.xml.sax.SAXException

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Writes the given ignorable characters to the given character stream.

Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler
Overrides:
ignorableWhitespace in class org.xml.sax.helpers.DefaultHandler
Throws:
org.xml.sax.SAXException

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Flushes the character stream so that no characters are forgotten in internal buffers.

Specified by:
endDocument in interface org.xml.sax.ContentHandler
Overrides:
endDocument in class org.xml.sax.helpers.DefaultHandler
Throws:
org.xml.sax.SAXException - if the stream can not be flushed
See Also:
TIKA-179

toString

public java.lang.String toString()
Returns the contents of the internal string buffer where all the received characters have been collected. Only works when this object was constructed using the empty default constructor or by passing a StringWriter to the other constructor.

Overrides:
toString in class java.lang.Object

isWriteLimitReached

public boolean isWriteLimitReached(java.lang.Throwable t)
Checks whether the given exception (or any of it's root causes) was thrown by this handler as a signal of reaching the write limit.

Parameters:
t - throwable
Returns:
true if the write limit was reached, false otherwise
Since:
Apache Tika 0.7


Copyright © 2007-2010 The Apache Software Foundation. All Rights Reserved.