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