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