104 lines
2.7 KiB
Java
104 lines
2.7 KiB
Java
/*
|
|
UseTableStream: Hook up the HTMLTableStream object to the Framework's Response
|
|
Old Framework object Response used to be an output stream but with WFC it is no longer
|
|
so UseTableStream ust extend OutputStream to because HTMLTableStream class expeccts an
|
|
output stream
|
|
*/
|
|
|
|
package IISSample;
|
|
|
|
import java.io.*;
|
|
import com.ms.iis.asp.*;
|
|
import com.ms.com.*;
|
|
|
|
// extends OutputStream because the OutputTable method of HTMLTableStream needed an Outputstream
|
|
// UseTableStream hooks its write implementation of OutputStream to the Response Object. see below
|
|
public class UseTableStream extends OutputStream
|
|
{
|
|
|
|
|
|
static byte[] byteArray =
|
|
{
|
|
(byte)'1', (byte)' ', (byte)'2', (byte)' ', (byte)'3',
|
|
(byte)' ', (byte)'4', (byte)' ', (byte)'\n', (byte)' ',
|
|
(byte)'5', (byte)' ', (byte)'6', (byte)' ', (byte)'7',
|
|
(byte)' ', (byte)'8', (byte)' ', (byte)'\n', (byte) ' ',
|
|
(byte)'9', (byte)' ', (byte)'1', (byte)'0', (byte)' ',
|
|
(byte)'1', (byte)'1', (byte)' ', (byte)'1', (byte)'2',
|
|
(byte) ' ',(byte) '\n'
|
|
};
|
|
|
|
public Response response;
|
|
|
|
// Create a byte stream, and use it as input to the HTML table stream processor
|
|
public void makeTable()
|
|
{
|
|
response = AspContext.getResponse();
|
|
|
|
ByteArrayInputStream inputStream = new ByteArrayInputStream(byteArray);
|
|
HTMLTableStream ts = new HTMLTableStream(inputStream);
|
|
|
|
ts.setCols(4);
|
|
ts.setBorderWidth(2);
|
|
ts.setCellSpacing(3);
|
|
ts.setBorderColor("Green");
|
|
ts.OutputTable(this); // UseTableStream is an Outputstream
|
|
}
|
|
|
|
|
|
/*********************************************************************************
|
|
External (Public) java.io.OutputStream Interface Methods ***********************
|
|
******************************************************************************** */
|
|
|
|
|
|
public void write(int i) throws IOException, NullPointerException, IndexOutOfBoundsException
|
|
{
|
|
|
|
|
|
byte [] b = new byte[1];
|
|
b[0] = (byte) i;
|
|
write(b, 0, 1);
|
|
}
|
|
|
|
public void write(byte[] b) throws IOException, NullPointerException, IndexOutOfBoundsException
|
|
{
|
|
|
|
|
|
write(b, 0, b.length);
|
|
}
|
|
|
|
|
|
// This method ties UseTable Stream to the Respone Object
|
|
public void write(byte[] b, int off, int len) throws
|
|
IOException,
|
|
NullPointerException,
|
|
IndexOutOfBoundsException
|
|
{
|
|
response.write(new String(b,off,len));
|
|
}
|
|
|
|
public void close()
|
|
throws IOException
|
|
{
|
|
// Nothing to do here
|
|
}
|
|
|
|
public void flush()
|
|
throws IOException
|
|
{
|
|
// Can only flush if ASP buffering is on
|
|
if (response.getBuffered() == true)
|
|
{
|
|
response.flush();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|