org.apache.tika.sax
Class WriteOutContentHandler

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

public class WriteOutContentHandler
extends ContentHandlerDecorator

SAX event handler that writes content up to an optional write limit out to a character stream or other decorated handler.


Constructor Summary
WriteOutContentHandler()
          Creates a content handler that writes character events to an internal string buffer.
WriteOutContentHandler(ContentHandler handler, int writeLimit)
          Creates a content handler that writes content up to the given write limit to the given content handler.
WriteOutContentHandler(int writeLimit)
          Creates a content handler that writes character events to an internal string buffer.
WriteOutContentHandler(OutputStream stream)
          Creates a content handler that writes character events to the given output stream using the default encoding.
WriteOutContentHandler(Writer writer)
          Creates a content handler that writes character events to the given writer.
WriteOutContentHandler(Writer writer, int writeLimit)
          Creates a content handler that writes content up to the given write limit to the given character stream.
 
Method Summary
 void characters(char[] ch, int start, int length)
          Writes the given characters to the given character stream.
 boolean isWriteLimitReached(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.
 
Methods inherited from class org.apache.tika.sax.ContentHandlerDecorator
endDocument, endElement, endPrefixMapping, handleException, ignorableWhitespace, processingInstruction, setContentHandler, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, toString
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
error, fatalError, notationDecl, resolveEntity, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WriteOutContentHandler

public WriteOutContentHandler(ContentHandler handler,
                              int writeLimit)
Creates a content handler that writes content up to the given write limit to the given content handler.

Parameters:
handler - content handler to be decorated
writeLimit - write limit
Since:
Apache Tika 0.10

WriteOutContentHandler

public WriteOutContentHandler(Writer writer,
                              int writeLimit)
Creates a content handler that writes content up to the given write limit to the given character stream.

Parameters:
writer - character stream
writeLimit - write limit
Since:
Apache Tika 0.10

WriteOutContentHandler

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

Parameters:
writer - writer

WriteOutContentHandler

public WriteOutContentHandler(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 ContentHandlerDecorator.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 ContentHandlerDecorator.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 SAXException
Writes the given characters to the given character stream.

Specified by:
characters in interface ContentHandler
Overrides:
characters in class ContentHandlerDecorator
Throws:
SAXException

isWriteLimitReached

public boolean isWriteLimitReached(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-2012 The Apache Software Foundation. All Rights Reserved.