org.apache.ojb.broker.util
Class Base64.OutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by org.apache.ojb.broker.util.Base64.OutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable
Enclosing class:
Base64

public static class Base64.OutputStream
extends java.io.FilterOutputStream

A Base64.OutputStream will write data to another OutputStream, given in the constructor, and encode/decode to/from Base64 notation on the fly.

Since:
1.3
See Also:
Base64, FilterOutputStream

Constructor Summary
Base64.OutputStream(java.io.OutputStream out)
          Constructs a Base64.OutputStream in ENCODE mode.
Base64.OutputStream(java.io.OutputStream out, boolean encode)
          Constructs a Base64.OutputStream in either ENCODE or DECODE mode.
Base64.OutputStream(java.io.OutputStream out, boolean encode, boolean breakLines)
          Constructs a Base64.OutputStream in either ENCODE or DECODE mode.
 
Method Summary
 void close()
          Flushes and closes stream.
 void flush()
          Appropriately pads Base64 notation when encoding or throws an exception if Base64 input is not properly padded when decoding.
 void write(byte[] theBytes, int off, int len)
          Calls write(int) repeatedly until len bytes are written.
 void write(int theByte)
          Writes the byte to the output stream after converting to/from Base64 notation.
 
Methods inherited from class java.io.FilterOutputStream
write
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Base64.OutputStream

public Base64.OutputStream(java.io.OutputStream out)
Constructs a Base64.OutputStream in ENCODE mode.

Parameters:
out - the OutputStream to which data will be written.
Since:
1.3

Base64.OutputStream

public Base64.OutputStream(java.io.OutputStream out,
                           boolean encode)
Constructs a Base64.OutputStream in either ENCODE or DECODE mode.

Parameters:
out - the OutputStream to which data will be written.
encode - Conversion direction
Since:
1.3
See Also:
Base64.ENCODE, Base64.DECODE

Base64.OutputStream

public Base64.OutputStream(java.io.OutputStream out,
                           boolean encode,
                           boolean breakLines)
Constructs a Base64.OutputStream in either ENCODE or DECODE mode.

Parameters:
out - the OutputStream to which data will be written.
encode - Conversion direction
breakLines - Break lines to be less than 80 characters.
Since:
1.3
See Also:
Base64.ENCODE, Base64.DECODE
Method Detail

write

public void write(int theByte)
           throws java.io.IOException
Writes the byte to the output stream after converting to/from Base64 notation. When encoding, bytes are buffered three at a time before the output stream actually gets a write() call. When decoding, bytes are buffered four at a time.

Overrides:
write in class java.io.FilterOutputStream
Parameters:
theByte - the byte to write
Throws:
java.io.IOException
Since:
1.3

write

public void write(byte[] theBytes,
                  int off,
                  int len)
           throws java.io.IOException
Calls write(int) repeatedly until len bytes are written.

Overrides:
write in class java.io.FilterOutputStream
Parameters:
theBytes - array from which to read bytes
off - offset for array
len - max number of bytes to read into array
Throws:
java.io.IOException
Since:
1.3

flush

public void flush()
           throws java.io.IOException
Appropriately pads Base64 notation when encoding or throws an exception if Base64 input is not properly padded when decoding.

Specified by:
flush in interface java.io.Flushable
Overrides:
flush in class java.io.FilterOutputStream
Throws:
java.io.IOException
Since:
1.3

close

public void close()
           throws java.io.IOException
Flushes and closes stream.

Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.FilterOutputStream
Throws:
java.io.IOException
Since:
1.3


(C) 2002 - 2006 Apache Software Foundation
All rights reserved. Published under the Apache License 2.0.
http://db.apache.org/ojb
Version: 1.0.4, 2005-12-30