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

83 lines
1.6 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;
2010-12-01 01:32:29 -05:00
public void addBodyPart(BodyPart part)
{
mParts.add(part);
}
2010-12-01 01:32:29 -05:00
public void addBodyPart(BodyPart part, int index)
{
mParts.add(index, part);
}
2010-12-01 01:32:29 -05:00
public BodyPart getBodyPart(int index)
{
return mParts.get(index);
}
2010-12-01 01:32:29 -05:00
public String getContentType()
{
return mContentType;
}
2010-12-01 01:32:29 -05:00
public int getCount()
{
return mParts.size();
}
2010-12-01 01:32:29 -05:00
public boolean removeBodyPart(BodyPart part)
{
return mParts.remove(part);
}
2010-12-01 01:32:29 -05:00
public void removeBodyPart(int index)
{
mParts.remove(index);
}
2010-12-01 01:32:29 -05:00
public Part getParent()
{
return mParent;
}
2010-12-01 01:32:29 -05:00
public void setParent(Part parent)
{
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
}
}
}
}