package com.fsck.k9.mail.store.webdav;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Holds the mappings from the name returned from Exchange to the MIME format header name
*/
class ParsedMessageEnvelope {
private static final Map<String, String> HEADER_MAPPINGS;
static {
Map<String, String> map = new HashMap<String, String>();
map.put("mime-version", "MIME-Version");
map.put("content-type", "Content-Type");
map.put("subject", "Subject");
map.put("date", "Date");
map.put("thread-topic", "Thread-Topic");
map.put("thread-index", "Thread-Index");
map.put("from", "From");
map.put("to", "To");
map.put("in-reply-to", "In-Reply-To");
map.put("cc", "Cc");
map.put("getcontentlength", "Content-Length");
HEADER_MAPPINGS = Collections.unmodifiableMap(map);
}
private boolean mReadStatus = false;
private String mUid = "";
private Map<String, String> mMessageHeaders = new HashMap<String, String>();
private List<String> mHeaders = new ArrayList<String>();
public void addHeader(String field, String value) {
String headerName = HEADER_MAPPINGS.get(field);
if (headerName != null) {
this.mMessageHeaders.put(HEADER_MAPPINGS.get(field), value);
this.mHeaders.add(HEADER_MAPPINGS.get(field));
}
}
public Map<String, String> getMessageHeaders() {
return this.mMessageHeaders;
}
public String[] getHeaderList() {
return this.mHeaders.toArray(WebDavConstants.EMPTY_STRING_ARRAY);
}
public void setReadStatus(boolean status) {
this.mReadStatus = status;
}
public boolean getReadStatus() {
return this.mReadStatus;
}
public void setUid(String uid) {
if (uid != null) {
this.mUid = uid;
}
}
public String getUid() {
return this.mUid;
}
}