13f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen/*
23f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen * Copyright (C) 2015 The Android Open Source Project
33f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen *
43f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen * Licensed under the Apache License, Version 2.0 (the "License");
53f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen * you may not use this file except in compliance with the License.
63f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen * You may obtain a copy of the License at
73f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen *
83f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen *      http://www.apache.org/licenses/LICENSE-2.0
93f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen *
103f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen * Unless required by applicable law or agreed to in writing, software
113f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen * distributed under the License is distributed on an "AS IS" BASIS,
123f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen * See the License for the specific language governing permissions and
143f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen * limitations under the License.
153f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen */
163f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chenpackage com.android.phone.common.mail;
173f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
183f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chenimport java.util.ArrayList;
193f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
203f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chenpublic abstract class Multipart implements Body {
213f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    protected Part mParent;
223f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
233f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    protected ArrayList<BodyPart> mParts = new ArrayList<BodyPart>();
243f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
253f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    protected String mContentType;
263f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
273f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    public void addBodyPart(BodyPart part) throws MessagingException {
283f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen        mParts.add(part);
293f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    }
303f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
313f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    public void addBodyPart(BodyPart part, int index) throws MessagingException {
323f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen        mParts.add(index, part);
333f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    }
343f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
353f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    public BodyPart getBodyPart(int index) throws MessagingException {
363f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen        return mParts.get(index);
373f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    }
383f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
393f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    public String getContentType() throws MessagingException {
403f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen        return mContentType;
413f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    }
423f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
433f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    public int getCount() throws MessagingException {
443f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen        return mParts.size();
453f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    }
463f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
473f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    public boolean removeBodyPart(BodyPart part) throws MessagingException {
483f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen        return mParts.remove(part);
493f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    }
503f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
513f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    public void removeBodyPart(int index) throws MessagingException {
523f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen        mParts.remove(index);
533f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    }
543f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
553f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    public Part getParent() throws MessagingException {
563f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen        return mParent;
573f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    }
583f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen
593f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    public void setParent(Part parent) throws MessagingException {
603f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen        this.mParent = parent;
613f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen    }
623f51d09afa61649a1bcf02599bc1df5aafccf088Nancy Chen}
63