1 21 22 package org.armedbear.j.mail; 23 24 import java.util.List ; 25 import org.armedbear.j.Headers; 26 import org.armedbear.j.Log; 27 28 public final class LocalMailboxEntry extends MailboxEntry 29 { 30 private long messageStart; 31 private long nextMessageStart; 32 private String uidl; 33 34 public LocalMailboxEntry(int messageNumber, long messageStart, String s) 35 { 36 this.messageNumber = messageNumber; 37 this.messageStart = messageStart; 38 Headers headers = Headers.parse(s); 39 subject = RFC2047.decode(headers.getValue(Headers.SUBJECT)); 40 date = RFC822Date.parseDate(headers.getValue(Headers.DATE)); 41 from = MailAddress.parseAddresses(RFC2047.decode( 42 headers.getValue(Headers.FROM))); 43 replyTo = MailAddress.parseAddresses(RFC2047.decode( 44 headers.getValue(Headers.REPLY_TO))); 45 to = MailAddress.parseAddresses(RFC2047.decode( 46 headers.getValue(Headers.TO))); 47 cc = MailAddress.parseAddresses(RFC2047.decode( 48 headers.getValue(Headers.CC))); 49 messageId = headers.getValue(Headers.MESSAGE_ID); 50 inReplyTo = parseInReplyTo(headers.getValue(Headers.IN_REPLY_TO)); 51 String refs = headers.getValue(Headers.REFERENCES); 52 if (refs != null) 53 references = parseReferences(refs); 54 uidl = headers.getValue(Headers.X_UIDL); 55 String status = headers.getValue(Headers.X_J_STATUS); 56 if (status != null) { 57 try { 58 flags = Integer.parseInt(status); 59 } 60 catch (NumberFormatException e) { 61 Log.error(e); 62 } 63 } 64 } 65 66 public final long getMessageStart() 67 { 68 return messageStart; 69 } 70 71 public final void setMessageStart(long offset) 72 { 73 messageStart = offset; 74 } 75 76 public final long getNextMessageStart() 77 { 78 return nextMessageStart; 79 } 80 81 public final void setNextMessageStart(long offset) 82 { 83 nextMessageStart = offset; 84 } 85 86 public final String getUidl() 87 { 88 return uidl; 89 } 90 } 91 | Popular Tags |