1 10 package org.mmbase.util.transformers; 11 12 import java.util.HashMap ; 13 import java.util.Map ; 14 15 import sun.misc.BASE64Decoder; 16 import sun.misc.BASE64Encoder; 17 18 25 26 public class Base64 extends ByteArrayToCharTransformer implements ByteToCharTransformer, ConfigurableTransformer { 27 private final static String ENCODING = "BASE64"; 28 private final static int BASE_64 = 1; 29 30 int to = BASE_64; 31 32 public void configure(int t) { 33 to = t; 34 } 35 36 39 40 public Map transformers() { 41 HashMap h = new HashMap (); 42 h.put(ENCODING, new Config(Base64.class, BASE_64, "Base 64 encoding base on sun.misc.BASE64* classes")); 43 return h; 44 } 45 46 47 public String transform(byte[] bytes) { 48 return new BASE64Encoder().encode(bytes); 49 } 50 51 public byte[] transformBack(String r) { 52 try { 53 BASE64Decoder dec = new BASE64Decoder(); 54 return dec.decodeBuffer(r); 55 } catch (Exception e) { 56 e.printStackTrace(); 57 throw new IllegalArgumentException ("the entered string to decode properly was wrong: " + e); 58 } 59 } 60 61 public String getEncoding() { 62 return ENCODING; 63 } 64 } 65 | Popular Tags |