public static String toBase64 ( Object o , String charset , String defaultValue ) { ; if ( o instanceof byte [ ] ) return toB64 ( ( byte [ ] ) o , defaultValue ) ; else if ( o instanceof String ) return toB64 ( ( String ) o , charset , defaultValue ) ; else if ( o instanceof Number ) return toB64 ( toString ( ( ( Number ) o ) ) , charset , defaultValue ) ; else if ( o instanceof ObjectWrap ) { return toBase64 ( ( ( ObjectWrap ) o ) . getEmbededObject ( defaultValue ) , charset , defaultValue ) ; } else if ( o == null ) { return toBase64 ( "" , charset , defaultValue ) ; } else { byte [ ] b = toBinary ( o , null ) ; if ( b != null ) return toB64 ( b , defaultValue ) ; else { String str = toString ( o , null ) ; if ( str != null ) return toBase64 ( str , charset , defaultValue ) ; else return defaultValue ; } } }
cast a Object to a Base64 value