k-9/src/com/fsck/k9/mail/Multipart.java

83 lines
1.9 KiB
Java
Raw Normal View History

package com.fsck.k9.mail;
import java.util.ArrayList;
import com.fsck.k9.mail.internet.MimeHeader;
import com.fsck.k9.mail.internet.TextBody;
public abstract class Multipart implements Body
{
protected Part mParent;
protected ArrayList<BodyPart> mParts = new ArrayList<BodyPart>();
protected String mContentType;
public void addBodyPart(BodyPart part) throws MessagingException
{
mParts.add(part);
}
public void addBodyPart(BodyPart part, int index) throws MessagingException
{
mParts.add(index, part);
}
public BodyPart getBodyPart(int index) throws MessagingException
{
return mParts.get(index);
}
public String getContentType() throws MessagingException
{
return mContentType;
}
public int getCount() throws MessagingException
{
return mParts.size();
}
public boolean removeBodyPart(BodyPart part) throws MessagingException
{
return mParts.remove(part);
}
public void removeBodyPart(int index) throws MessagingException
{
mParts.remove(index);
}
public Part getParent() throws MessagingException
{
return mParent;
}
public void setParent(Part parent) throws MessagingException
{
this.mParent = parent;
}
public void setEncoding(String encoding)
{
for (BodyPart part : mParts)
{
try
{
Body body = part.getBody();
if (body instanceof TextBody)
{
part.setHeader(MimeHeader.HEADER_CONTENT_TRANSFER_ENCODING, encoding);
((TextBody)body).setEncoding(encoding);
}
}
catch (MessagingException e)
{
// Ignore
}
}
}
}