Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.enhydra.servlet.debug
Class InputStreamRecord  view InputStreamRecord download InputStreamRecord.java

java.lang.Object
  extended byjava.io.InputStream
      extended byjavax.servlet.ServletInputStream
          extended byorg.enhydra.servlet.debug.InputStreamRecord

class InputStreamRecord
extends javax.servlet.ServletInputStream

All calls are added to the trace log in the associated request ojbect. There is no option to save the data, this will be added in the future.

All input is passed through unmodified.


Field Summary
private  int counter
           
private static int maxTraces
           
private  javax.servlet.ServletInputStream realStream
           
private  RequestRecord requestRecord
           
 
Constructor Summary
(package private) InputStreamRecord(RequestRecord requestRecord, javax.servlet.ServletInputStream realStream)
          Wrap around the ServletInputStream realStream, and log all the calls made to it to the trace string in requestRecord.
 
Method Summary
private  void addTrace(java.lang.String msg)
           
 int available()
          This method returns the number of bytes that can be read from this stream before a read can block.
 void close()
          This method closes the stream.
 void mark(int readlimit)
          This method marks a position in the input to which the stream can be "reset" by calling the reset() method.
 boolean markSupported()
          This method returns a boolean that indicates whether the mark/reset methods are supported in this class.
 int read()
          This method reads an unsigned byte from the input stream and returns it as an int in the range of 0-255.
 int read(byte[] b)
          This method reads bytes from a stream and stores them into a caller supplied buffer.
 int readLine(byte[] b, int off, int len)
          Reads the input stream, one line at a time.
 void reset()
          This method resets a stream to the point where the mark() method was called.
 long skip(long n)
          This method skips the specified number of bytes in the stream.
 
Methods inherited from class java.io.InputStream
read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

requestRecord

private RequestRecord requestRecord

realStream

private javax.servlet.ServletInputStream realStream

counter

private int counter

maxTraces

private static final int maxTraces
See Also:
Constant Field Values
Constructor Detail

InputStreamRecord

InputStreamRecord(RequestRecord requestRecord,
                  javax.servlet.ServletInputStream realStream)
Wrap around the ServletInputStream realStream, and log all the calls made to it to the trace string in requestRecord. The data is passed through unmodified.

Method Detail

readLine

public int readLine(byte[] b,
                    int off,
                    int len)
             throws java.io.IOException
Description copied from class: javax.servlet.ServletInputStream
Reads the input stream, one line at a time. Starting at an offset, reads bytes into an array, until it reads a certain number of bytes or reaches a newline character, which it reads into the array as well.

This method returns -1 if it reaches the end of the input stream before reading the maximum number of bytes.


read

public int read()
         throws java.io.IOException
Description copied from class: java.io.InputStream
This method reads an unsigned byte from the input stream and returns it as an int in the range of 0-255. This method also will return -1 if the end of the stream has been reached.

This method will block until the byte can be read.


read

public int read(byte[] b)
         throws java.io.IOException
Description copied from class: java.io.InputStream
This method reads bytes from a stream and stores them into a caller supplied buffer. This method attempts to completely fill the buffer, but can return before doing so. The actual number of bytes read is returned as an int. A -1 is returned to indicate the end of the stream.

This method will block until some data can be read.

This method operates by calling an overloaded read method like so: read(b, 0, b.length)


skip

public long skip(long n)
          throws java.io.IOException
Description copied from class: java.io.InputStream
This method skips the specified number of bytes in the stream. It returns the actual number of bytes skipped, which may be less than the requested amount.

This method reads and discards bytes into a byte array until the specified number of bytes were skipped or until either the end of stream is reached or a read attempt returns a short count. Subclasses can override this metho to provide a more efficient implementation where one exists.


available

public int available()
              throws java.io.IOException
Description copied from class: java.io.InputStream
This method returns the number of bytes that can be read from this stream before a read can block. A return of 0 indicates that blocking might (or might not) occur on the very next read attempt.

This method always returns 0 in this class


close

public void close()
           throws java.io.IOException
Description copied from class: java.io.InputStream
This method closes the stream. Any futher attempts to read from the stream may generate an IOException

This method does nothing in this class, but subclasses may override this method in order to provide additional functionality.


mark

public void mark(int readlimit)
Description copied from class: java.io.InputStream
This method marks a position in the input to which the stream can be "reset" by calling the reset() method. The parameter @code{readlimit} is the number of bytes that can be read from the stream after setting the mark before the mark becomes invalid. For example, if mark() is called with a read limit of 10, then when 11 bytes of data are read from the stream before the reset() method is called, then the mark is invalid and the stream object instance is not required to remember the mark.

This method does nothing in this class, but subclasses may override it to provide mark/reset functionality.


reset

public void reset()
           throws java.io.IOException
Description copied from class: java.io.InputStream
This method resets a stream to the point where the mark() method was called. Any bytes that were read after the mark point was set will be re-read during subsequent reads.

This method always throws an IOException in this class, but subclasses can override this method if they provide mark/reset functionality.


markSupported

public boolean markSupported()
Description copied from class: java.io.InputStream
This method returns a boolean that indicates whether the mark/reset methods are supported in this class. Those methods can be used to remember a specific point in the stream and reset the stream to that point.

This method always returns false in this class, but subclasses can override this method to return true if they support mark/reset functionality.


addTrace

private void addTrace(java.lang.String msg)