org.jppf.utils.base64
Class Base64Encoding

java.lang.Object
  extended by org.jppf.utils.base64.Base64Encoding

public final class Base64Encoding
extends Object

Author:
Laurent Cohen

Constructor Summary
Base64Encoding()
           
 
Method Summary
static void encode(ByteBuffer raw, ByteBuffer encoded)
          Performs Base64 encoding on the raw ByteBuffer, writing it to the encoded ByteBuffer.
static void encode(ByteBuffer raw, CharBuffer encoded)
          Performs Base64 encoding on the raw ByteBuffer, writing it to the encoded CharBuffer.
static String encodeBytes(byte[] source)
          Encodes a byte array into Base64 notation.
static String encodeBytes(byte[] source, int options)
          Encodes a byte array into Base64 notation.
static String encodeBytes(byte[] source, int off, int len)
          Encodes a byte array into Base64 notation.
static String encodeBytes(byte[] source, int off, int len, int options)
          Encodes a byte array into Base64 notation.
static byte[] encodeBytesToBytes(byte[] source)
          Similar to encodeBytes(byte[]) but returnsa byte array instead of instantiating a String.
static byte[] encodeBytesToBytes(byte[] source, int off, int len, int options)
          Similar to encodeBytes(byte[], int, int, int) but returns a byte array instead of instantiating a String.
static String encodeObject(Serializable serializableObject)
          Serializes an object and returns the Base64-encoded version of that serialized object.
static String encodeObject(Serializable serializableObject, int options)
          Serializes an object and returns the Base64-encoded version of that serialized object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Base64Encoding

public Base64Encoding()
Method Detail

encode

public static void encode(ByteBuffer raw,
                          ByteBuffer encoded)
Performs Base64 encoding on the raw ByteBuffer, writing it to the encoded ByteBuffer. This is an experimental feature. Currently it does not pass along any options (such as #DO_BREAK_LINES or #GZIP.

Parameters:
raw - input buffer
encoded - output buffer
Since:
2.3

encode

public static void encode(ByteBuffer raw,
                          CharBuffer encoded)
Performs Base64 encoding on the raw ByteBuffer, writing it to the encoded CharBuffer. This is an experimental feature. Currently it does not pass along any options (such as #DO_BREAK_LINES or #GZIP.

Parameters:
raw - input buffer
encoded - output buffer
Since:
2.3

encodeObject

public static String encodeObject(Serializable serializableObject)
                           throws IOException
Serializes an object and returns the Base64-encoded version of that serialized object.

As of v 2.3, if the object cannot be serialized or there is another error, the method will throw an IOException. This is new to v2.3! In earlier versions, it just returned a null value, but in retrospect that's a pretty poor way to handle it.

The object is not GZip-compressed before being encoded.

Parameters:
serializableObject - The object to encode
Returns:
The Base64-encoded object
Throws:
IOException - if there is an error
NullPointerException - if serializedObject is null
Since:
1.4

encodeObject

public static String encodeObject(Serializable serializableObject,
                                  int options)
                           throws IOException
Serializes an object and returns the Base64-encoded version of that serialized object.

As of v 2.3, if the object cannot be serialized or there is another error, the method will throw an IOException. This is new to v2.3! In earlier versions, it just returned a null value, but in retrospect that's a pretty poor way to handle it.

The object is not GZip-compressed before being encoded.

Example options:

   GZIP: gzip-compresses object before encoding it.
   DO_BREAK_LINES: break lines at 76 characters
 

Example: encodeObject( myObj, Base64.GZIP ) or

Example: encodeObject( myObj, Base64.GZIP | Base64.DO_BREAK_LINES )

Parameters:
serializableObject - The object to encode
options - Specified options
Returns:
The Base64-encoded object
Throws:
IOException - if there is an error
Since:
2.0
See Also:
Base64.GZIP, Base64.DO_BREAK_LINES

encodeBytes

public static String encodeBytes(byte[] source)
Encodes a byte array into Base64 notation. Does not GZip-compress data.

Parameters:
source - The data to convert
Returns:
The data in Base64-encoded form
Throws:
NullPointerException - if source array is null
Since:
1.4

encodeBytes

public static String encodeBytes(byte[] source,
                                 int options)
                          throws IOException
Encodes a byte array into Base64 notation.

Example options:

   GZIP: gzip-compresses object before encoding it.
   DO_BREAK_LINES: break lines at 76 characters
     Note: Technically, this makes your encoding non-compliant.
 

Example: encodeBytes( myData, Base64.GZIP ) or

Example: encodeBytes( myData, Base64.GZIP | Base64.DO_BREAK_LINES )

As of v 2.3, if there is an error with the GZIP stream, the method will throw an IOException. This is new to v2.3! In earlier versions, it just returned a null value, but in retrospect that's a pretty poor way to handle it.

Parameters:
source - The data to convert
options - Specified options
Returns:
The Base64-encoded data as a String
Throws:
IOException - if there is an error
NullPointerException - if source array is null
Since:
2.0
See Also:
Base64.GZIP, Base64.DO_BREAK_LINES

encodeBytes

public static String encodeBytes(byte[] source,
                                 int off,
                                 int len)
Encodes a byte array into Base64 notation. Does not GZip-compress data.

As of v 2.3, if there is an error, the method will throw an IOException. This is new to v2.3! In earlier versions, it just returned a null value, but in retrospect that's a pretty poor way to handle it.

Parameters:
source - The data to convert
off - Offset in array where conversion should begin
len - Length of data to convert
Returns:
The Base64-encoded data as a String
Throws:
NullPointerException - if source array is null
IllegalArgumentException - if source array, offset, or length are invalid
Since:
1.4

encodeBytes

public static String encodeBytes(byte[] source,
                                 int off,
                                 int len,
                                 int options)
                          throws IOException
Encodes a byte array into Base64 notation.

Example options:

   GZIP: gzip-compresses object before encoding it.
   DO_BREAK_LINES: break lines at 76 characters
     Note: Technically, this makes your encoding non-compliant.
 

Example: encodeBytes( myData, Base64.GZIP ) or

Example: encodeBytes( myData, Base64.GZIP | Base64.DO_BREAK_LINES )

As of v 2.3, if there is an error with the GZIP stream, the method will throw an IOException. This is new to v2.3! In earlier versions, it just returned a null value, but in retrospect that's a pretty poor way to handle it.

Parameters:
source - The data to convert
off - Offset in array where conversion should begin
len - Length of data to convert
options - Specified options
Returns:
The Base64-encoded data as a String
Throws:
IOException - if there is an error
NullPointerException - if source array is null
IllegalArgumentException - if source array, offset, or length are invalid
Since:
2.0
See Also:
Base64.GZIP, Base64.DO_BREAK_LINES

encodeBytesToBytes

public static byte[] encodeBytesToBytes(byte[] source)
Similar to encodeBytes(byte[]) but returnsa byte array instead of instantiating a String. This is more efficient if you're working with I/O streams and have large data sets to encode.

Parameters:
source - The data to convert
Returns:
The Base64-encoded data as a byte[] (of ASCII characters)
Throws:
NullPointerException - if source array is null
Since:
2.3.1

encodeBytesToBytes

public static byte[] encodeBytesToBytes(byte[] source,
                                        int off,
                                        int len,
                                        int options)
                                 throws IOException
Similar to encodeBytes(byte[], int, int, int) but returns a byte array instead of instantiating a String. This is more efficient if you're working with I/O streams and have large data sets to encode.

Parameters:
source - The data to convert
off - Offset in array where conversion should begin
len - Length of data to convert
options - Specified options
Returns:
The Base64-encoded data as a String
Throws:
IOException - if there is an error
NullPointerException - if source array is null
IllegalArgumentException - if source array, offset, or length are invalid
Since:
2.3.1
See Also:
Base64.GZIP, Base64.DO_BREAK_LINES


Copyright © 2005-2010 JPPF Team.