|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.InputStream java.io.FilterInputStream org.apache.tika.io.ProxyInputStream org.apache.tika.io.TaggedInputStream
public class TaggedInputStream
An input stream decorator that tags potential exceptions so that the
stream that caused the exception can easily be identified. This is
done by using the TaggedIOException
class to wrap all thrown
IOException
s. See below for an example of using this class.
TaggedInputStream stream = new TaggedInputStream(...); try { // Processing that may throw an IOException either from this stream // or from some other IO activity like temporary files, etc. processStream(stream); } catch (IOException e) { if (stream.isCauseOf(e)) { // The exception was caused by this stream. // Use e.getCause() to get the original exception. } else { // The exception was caused by something else. } }
Alternatively, the throwIfCauseOf(Exception)
method can be
used to let higher levels of code handle the exception caused by this
stream while other processing errors are being taken care of at this
lower level.
TaggedInputStream stream = new TaggedInputStream(...); try { processStream(stream); } catch (IOException e) { stream.throwIfCauseOf(e); // ... or process the exception that was caused by something else }
TaggedIOException
Field Summary |
---|
Fields inherited from class java.io.FilterInputStream |
---|
in |
Constructor Summary | |
---|---|
TaggedInputStream(java.io.InputStream proxy)
Creates a tagging decorator for the given input stream. |
Method Summary | |
---|---|
protected void |
handleIOException(java.io.IOException e)
Tags any IOExceptions thrown, wrapping and re-throwing. |
boolean |
isCauseOf(java.io.IOException exception)
Tests if the given exception was caused by this stream. |
void |
throwIfCauseOf(java.lang.Exception exception)
Re-throws the original exception thrown by this stream. |
Methods inherited from class org.apache.tika.io.ProxyInputStream |
---|
afterRead, available, beforeRead, close, mark, markSupported, read, read, read, reset, skip |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TaggedInputStream(java.io.InputStream proxy)
proxy
- input stream to be decoratedMethod Detail |
---|
public boolean isCauseOf(java.io.IOException exception)
exception
- an exception
true
if the exception was thrown by this stream,
false
otherwisepublic void throwIfCauseOf(java.lang.Exception exception) throws java.io.IOException
TaggedIOException
wrapper created by this decorator, and then unwraps and throws the
original wrapped exception. Returns normally if the exception was
not thrown by this stream.
exception
- an exception
java.io.IOException
- original exception, if any, thrown by this streamprotected void handleIOException(java.io.IOException e) throws java.io.IOException
handleIOException
in class ProxyInputStream
e
- The IOException thrown
java.io.IOException
- if an I/O error occurs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |