Package com.soffid.iam.util
Class Base64
java.lang.Object
com.soffid.iam.util.Base64
Encodes and decodes to and from Base64 notation.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intSpecify decoding.static final intDon't break lines when encoding (violates strict Base64 specification).static final intSpecify encoding.static final intSpecify that data should be gzip-compressed.static final intNo options specified. -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]decode(byte[] source, int off, int len) Very low-level access to decoding ASCII characters in the form of a byte array.static byte[]Decodes data from Base64 notation, automatically detecting gzip-compressed data and decompressing it.static ObjectdecodeToObject(String encodedObject) Attempts to decode Base64 data and deserialize a Java Object within.static StringencodeBytes(byte[] source) Encodes a byte array into Base64 notation.static StringencodeBytes(byte[] source, int options) Encodes a byte array into Base64 notation.static StringencodeBytes(byte[] source, int off, int len) Encodes a byte array into Base64 notation.static StringencodeBytes(byte[] source, int off, int len, int options) Encodes a byte array into Base64 notation.static StringencodeObject(Serializable serializableObject) Serializes an object and returns the Base64-encoded version of that serialized object.static StringencodeObject(Serializable serializableObject, int options) Serializes an object and returns the Base64-encoded version of that serialized object.
-
Field Details
-
NO_OPTIONS
public static final int NO_OPTIONSNo options specified. Value is zero.- See Also:
-
ENCODE
public static final int ENCODESpecify encoding.- See Also:
-
DECODE
public static final int DECODESpecify decoding.- See Also:
-
GZIP
public static final int GZIPSpecify that data should be gzip-compressed.- See Also:
-
DONT_BREAK_LINES
public static final int DONT_BREAK_LINESDon't break lines when encoding (violates strict Base64 specification).- See Also:
-
-
Method Details
-
encodeObject
Serializes an object and returns the Base64-encoded version of that serialized object. If the object cannot be serialized or there is another error, the method will return null. The object is not GZip-compressed before being encoded.- Parameters:
serializableObject- The object to encode- Returns:
- The Base64-encoded object
- Since:
- 1.4
-
encodeObject
Serializes an object and returns the Base64-encoded version of that serialized object. If the object cannot be serialized or there is another error, the method will return null.Valid options:
GZIP: gzip-compresses object before encoding it. DONT_BREAK_LINES: don't break lines at 76 characters Note: Technically, this makes your encoding non-compliant.Example:
encodeObject( myObj, Base64.GZIP )orExample:
encodeObject( myObj, Base64.GZIP | Base64.DONT_BREAK_LINES )- Parameters:
serializableObject- The object to encodeoptions- Specified options- Returns:
- The Base64-encoded object
- Since:
- 2.0
- See Also:
-
encodeBytes
Encodes a byte array into Base64 notation. Does not GZip-compress data.- Parameters:
source- The data to convert- Returns:
- The encoded data
- Since:
- 1.4
-
encodeBytes
Encodes a byte array into Base64 notation.Valid options:
GZIP: gzip-compresses object before encoding it. DONT_BREAK_LINES: don't break lines at 76 characters Note: Technically, this makes your encoding non-compliant.Example:
encodeBytes( myData, Base64.GZIP )orExample:
encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )- Parameters:
source- The data to convertoptions- Specified options- Returns:
- The encoded data
- Since:
- 2.0
- See Also:
-
encodeBytes
Encodes a byte array into Base64 notation. Does not GZip-compress data.- Parameters:
source- The data to convertoff- Offset in array where conversion should beginlen- Length of data to convert- Returns:
- The encoded data
- Since:
- 1.4
-
encodeBytes
Encodes a byte array into Base64 notation.Valid options:
GZIP: gzip-compresses object before encoding it. DONT_BREAK_LINES: don't break lines at 76 characters Note: Technically, this makes your encoding non-compliant.Example:
encodeBytes( myData, Base64.GZIP )orExample:
encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )- Parameters:
source- The data to convertoff- Offset in array where conversion should beginlen- Length of data to convertoptions- Specified options- Returns:
- The encoded data
- Since:
- 2.0
- See Also:
-
decode
public static byte[] decode(byte[] source, int off, int len) Very low-level access to decoding ASCII characters in the form of a byte array. Does not support automatically gunzipping or any other "fancy" features.- Parameters:
source- The Base64 encoded dataoff- The offset of where to begin decodinglen- The length of characters to decode- Returns:
- decoded data
- Since:
- 1.3
-
decode
Decodes data from Base64 notation, automatically detecting gzip-compressed data and decompressing it.- Parameters:
s- the string to decode- Returns:
- the decoded data
- Since:
- 1.4
-
decodeToObject
Attempts to decode Base64 data and deserialize a Java Object within. Returns null if there was an error.- Parameters:
encodedObject- The Base64 data to decode- Returns:
- The decoded and deserialized object
- Since:
- 1.5
-