1 package org.columba.mail.folder.outbox; 19 20 import java.util.ArrayList ; 21 import java.util.Iterator ; 22 import java.util.List ; 23 24 import org.columba.mail.folder.headercache.DefaultHeaderBinding; 25 import org.columba.mail.message.IColumbaHeader; 26 27 import com.sleepycat.bind.tuple.TupleInput; 28 import com.sleepycat.bind.tuple.TupleOutput; 29 30 public class OutboxHeaderBinding extends DefaultHeaderBinding { 31 32 public Object entryToObject(TupleInput in) { 33 IColumbaHeader header = (IColumbaHeader) super.entryToObject(in); 34 35 Integer accountUid = new Integer (in.readInt()); 36 header.getAttributes().put("columba.accountuid", accountUid); 37 38 int listSize = in.readInt(); 39 List recipients = new ArrayList (listSize); 40 for( int i=0; i<listSize; i++) { 41 recipients.add(i,in.readString()); 42 } 43 44 header.getAttributes().put("columba.recipients", recipients); 45 46 return header; 47 } 48 49 public void objectToEntry(Object arg0, TupleOutput out) { 50 super.objectToEntry(arg0, out); 51 IColumbaHeader header = (IColumbaHeader) arg0; 52 53 out.writeInt(((Integer )header.getAttributes().get("columba.accountuid")).intValue()); 54 55 List recipients = (List )header.getAttributes().get("columba.recipients"); 56 out.writeInt(recipients.size()); 57 for( Iterator it=recipients.iterator(); it.hasNext();) { 58 out.writeString((String ) it.next()); 59 } 60 61 } 62 63 } 64 | Popular Tags |