org.abstracthorizon.danube.support.logging
Class LoggingInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.abstracthorizon.danube.support.logging.LoggingInputStream
All Implemented Interfaces:
Closeable
Direct Known Subclasses:
DirectionalLoggingInputStream

public class LoggingInputStream
extends InputStream

A class that duplicates what is read from InputStream to OutputStream

Author:
Daniel Sendula

Field Summary
protected  InputStream inputStream
          Original input stream
protected  boolean logging
          Is logging switched on flag
protected  OutputStream logOutputStream
          Log output stream
protected  int marked
          Mark poitner
protected  int ptr
          Pointer in the stream
 
Constructor Summary
LoggingInputStream(InputStream inputStream, OutputStream logOutputStream)
          Constructor
 
Method Summary
 int available()
           
 void close()
           
 boolean isLogging()
          Returns true if logging is on
 void mark(int readlimit)
           
 boolean markSupported()
           
 int read()
           
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
           
 void reset()
           
 void setLogging(boolean logging)
          Should read bytes from input stream be copied to the output stream
 long skip(long n)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inputStream

protected InputStream inputStream
Original input stream


logOutputStream

protected OutputStream logOutputStream
Log output stream


marked

protected int marked
Mark poitner


ptr

protected int ptr
Pointer in the stream


logging

protected boolean logging
Is logging switched on flag

Constructor Detail

LoggingInputStream

public LoggingInputStream(InputStream inputStream,
                          OutputStream logOutputStream)
Constructor

Parameters:
inputStream - input stream to be logged
logOutputStream - log output stream
Method Detail

setLogging

public void setLogging(boolean logging)
Should read bytes from input stream be copied to the output stream

Parameters:
logging - true if logging is on

isLogging

public boolean isLogging()
Returns true if logging is on

Returns:
true if logging is on

available

public int available()
              throws IOException
Overrides:
available in class InputStream
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Overrides:
close in class InputStream
Throws:
IOException

mark

public void mark(int readlimit)
Overrides:
mark in class InputStream

markSupported

public boolean markSupported()
Overrides:
markSupported in class InputStream

read

public int read()
         throws IOException
Specified by:
read in class InputStream
Throws:
IOException

read

public int read(byte[] b)
         throws IOException
Overrides:
read in class InputStream
Throws:
IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
Overrides:
read in class InputStream
Throws:
IOException

reset

public void reset()
           throws IOException
Overrides:
reset in class InputStream
Throws:
IOException

skip

public long skip(long n)
          throws IOException
Overrides:
skip in class InputStream
Throws:
IOException


Copyright © 2005-2009 Abstract Horizon. All Rights Reserved.