1 package org.codehaus.xfire.aegis.type.basic; 2 3 import org.codehaus.xfire.MessageContext; 4 import org.codehaus.xfire.aegis.MessageReader; 5 import org.codehaus.xfire.aegis.MessageWriter; 6 import org.codehaus.xfire.aegis.type.Type; 7 import org.codehaus.xfire.fault.XFireFault; 8 import org.codehaus.xfire.util.Base64; 9 10 /*** 11 * Converts back and forth to byte[] objects. 12 * 13 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> 14 */ 15 public class Base64Type 16 extends Type 17 { 18 public Object readObject(MessageReader reader, MessageContext context) 19 throws XFireFault 20 { 21 return Base64.decode(reader.getValue()); 22 } 23 24 public void writeObject(Object object, MessageWriter writer, MessageContext context) 25 throws XFireFault 26 { 27 byte[] data = (byte[]) object; 28 29 writer.writeValue( Base64.encode(data, 0, data.length) ); 30 } 31 }