package tim.prune.data; import java.util.ArrayList; /** * Class to hold a list of Photos, using the MediaList superclass */ public class PhotoList extends MediaList { /** * Empty constructor */ public PhotoList() { this(null); } /** * Constructor * @param inList ArrayList containing Photo objects */ private PhotoList(ArrayList inList) { super(inList); } /** * @return clone of list contents */ public PhotoList cloneList() { if (getNumMedia() == 0) return this; ArrayList listCopy = new ArrayList(); listCopy.addAll(_media); return new PhotoList(listCopy); } /** * @return the number of photos in the list */ public int getNumPhotos() { return getNumMedia(); } /** * Add a Photo to the list * @param inPhoto Photo object to add */ public void addPhoto(Photo inPhoto) { addMedia(inPhoto); } /** * Add a Photo to the list * @param inPhoto Photo object to add * @param inIndex index at which to add photo */ public void addPhoto(Photo inPhoto, int inIndex) { addMedia(inPhoto, inIndex); } /** * Remove the selected photo from the list * @param inIndex index number to remove */ public void deletePhoto(int inIndex) { deleteMedia(inIndex); } /** * Get the index of the given Photo * @param inPhoto Photo object to check * @return index of this Photo in the list, or -1 if not found */ public int getPhotoIndex(Photo inPhoto) { return getMediaIndex(inPhoto); } /** * Get the Photo at the given index * @param inIndex index number, starting at 0 * @return specified Photo object */ public Photo getPhoto(int inIndex) { return (Photo) getMedia(inIndex); } /** * @return true if photo list contains correlated photos */ public boolean hasCorrelatedPhotos() { return hasCorrelatedMedia(); } /** * Remove all correlated photos from the list */ public void removeCorrelatedPhotos() { removeCorrelatedMedia(); } }