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

Quick Search    Search Deep

com.opencms.flex.cache
Class CmsFlexResponse.CmsServletOutputStream  view CmsFlexResponse.CmsServletOutputStream download CmsFlexResponse.CmsServletOutputStream.java

java.lang.Object
  extended byjava.io.OutputStream
      extended byjavax.servlet.ServletOutputStream
          extended bycom.opencms.flex.cache.CmsFlexResponse.CmsServletOutputStream
Enclosing class:
CmsFlexResponse

private class CmsFlexResponse.CmsServletOutputStream
extends javax.servlet.ServletOutputStream

Wrapped implementation of the ServletOutputStream.

This implementation writes to an internal buffer and optionally to another output stream at the same time. It should be fully transparent to the standard ServletOutputStream.


Field Summary
private static boolean DEBUG
          Debug flag
private  javax.servlet.ServletOutputStream servletStream
          The optional output stream to write to
private  java.io.ByteArrayOutputStream stream
          The internal steam buffer
 
Fields inherited from class javax.servlet.ServletOutputStream
 
Constructor Summary
CmsFlexResponse.CmsServletOutputStream()
          Constructor that must be used if the stream should write only to a buffer.
CmsFlexResponse.CmsServletOutputStream(javax.servlet.ServletOutputStream servletStream)
          Constructor that must be used if the stream should write to a buffer and to another stream at the same time.
 
Method Summary
 void clear()
          Clears the buffer by initializing the buffer with a new stream.
 void flush()
          This method forces any data that may have been buffered to be written to the underlying output device.
 byte[] getBytes()
          Provides access to the bytes cached in the buffer.
 void write(byte[] b, int off, int len)
          This method writes len bytes from the specified array b starting at index off into the array.
 void write(int b)
          This method writes a single byte to the output stream.
 void writeToServletStream(byte[] b)
          Writes an array of bytes only to the included servlet stream, not to the buffer.
 
Methods inherited from class javax.servlet.ServletOutputStream
print, print, print, print, print, print, print, println, println, println, println, println, println, println, println
 
Methods inherited from class java.io.OutputStream
close, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stream

private java.io.ByteArrayOutputStream stream
The internal steam buffer


servletStream

private javax.servlet.ServletOutputStream servletStream
The optional output stream to write to


DEBUG

private static final boolean DEBUG
Debug flag

See Also:
Constant Field Values
Constructor Detail

CmsFlexResponse.CmsServletOutputStream

public CmsFlexResponse.CmsServletOutputStream()
Constructor that must be used if the stream should write only to a buffer.


CmsFlexResponse.CmsServletOutputStream

public CmsFlexResponse.CmsServletOutputStream(javax.servlet.ServletOutputStream servletStream)
Constructor that must be used if the stream should write to a buffer and to another stream at the same time.

Method Detail

write

public void write(int b)
           throws java.io.IOException
Description copied from class: java.io.OutputStream
This method writes a single byte to the output stream. The byte written is the low eight bits of the int passed and a argument.

Subclasses must provide an implementation of this abstract method


write

public void write(byte[] b,
                  int off,
                  int len)
           throws java.io.IOException
Description copied from class: java.io.OutputStream
This method writes len bytes from the specified array b starting at index off into the array.

This method in this class calls the single byte write() method in a loop until all bytes have been written. Subclasses should override this method if possible in order to provide a more efficent implementation.


writeToServletStream

public void writeToServletStream(byte[] b)
                          throws java.io.IOException
Writes an array of bytes only to the included servlet stream, not to the buffer.


flush

public void flush()
           throws java.io.IOException
Description copied from class: java.io.OutputStream
This method forces any data that may have been buffered to be written to the underlying output device. Please note that the host environment might perform its own buffering unbeknowst to Java. In that case, a write made (for example, to a disk drive) might be cached in OS buffers instead of actually being written to disk.

This method in this class does nothing.


getBytes

public byte[] getBytes()
Provides access to the bytes cached in the buffer.


clear

public void clear()
Clears the buffer by initializing the buffer with a new stream.