xtom.parser.util
Class Base64.InputStream

java.lang.Object
  extended byjava.io.InputStream
      extended byjava.io.FilterInputStream
          extended byxtom.parser.util.Base64.InputStream
Enclosing class:
Base64

public static class Base64.InputStream
extends java.io.FilterInputStream

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

Since:
1.3
See Also:
Base64, FilterInputStream

Field Summary
private  boolean breakLines
           
private  byte[] buffer
           
private  int bufferLength
           
private  boolean encode
           
private  int lineLength
           
private  int numSigBytes
           
private  int options
           
private  int position
           
 
Fields inherited from class java.io.FilterInputStream
in
 
Fields inherited from class java.io.InputStream
 
Constructor Summary
Base64.InputStream(java.io.InputStream in)
          Constructs a Base64#InputStream in DECODE mode.
Base64.InputStream(java.io.InputStream in, int options)
          Constructs a Base64#InputStream in either ENCODE or DECODE mode.
 
Method Summary
 int read()
          Reads enough of the input stream to convert to/from Base64 and returns the next byte.
 int read(byte[] dest, int off, int len)
          Calls read() repeatedly until the end of stream is reached or len bytes are read.
 
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

options

private int options

encode

private boolean encode

position

private int position

buffer

private byte[] buffer

bufferLength

private int bufferLength

numSigBytes

private int numSigBytes

lineLength

private int lineLength

breakLines

private boolean breakLines
Constructor Detail

Base64.InputStream

public Base64.InputStream(java.io.InputStream in)
Constructs a Base64#InputStream in DECODE mode.

Parameters:
in - the InputStream from which to read data.
Since:
1.3

Base64.InputStream

public Base64.InputStream(java.io.InputStream in,
                          int options)
Constructs a Base64#InputStream in either ENCODE or DECODE mode.

Valid options:

   ENCODE or DECODE: Encode or Decode as data is read.
   DONT_BREAK_LINES: don't break lines at 76 characters
     (only meaningful when encoding)
     Note: Technically, this makes your encoding non-compliant.
 

Example: new Base64.InputStream( in, Base64.DECODE )

Parameters:
in - the InputStream from which to read data.
options - Specified options
Since:
2.0
See Also:
Base64.ENCODE, Base64.DECODE, Base64.DONT_BREAK_LINES
Method Detail

read

public int read()
         throws java.io.IOException
Reads enough of the input stream to convert to/from Base64 and returns the next byte.

Returns:
next byte
Throws:
java.io.IOException
Since:
1.3

read

public int read(byte[] dest,
                int off,
                int len)
         throws java.io.IOException
Calls read() repeatedly until the end of stream is reached or len bytes are read. Returns number of bytes read into array or -1 if end of stream is encountered.

Parameters:
dest - array to hold values
off - offset for array
len - max number of bytes to read into array
Returns:
bytes read into array or -1 if end of stream is encountered.
Throws:
java.io.IOException
Since:
1.3