import java.util.ArrayList; /** * @author leon on 4/19/18. * this class is an abstraction of how Animals are stored and retrieved */ class AnimalWarehouse { private volatile ArrayList list = new ArrayList<>(); public void add(AnimalType animal) { list.add(animal); } public AnimalType getAnimalById(int id) { for(AnimalType animal : list) { if(animal.getId() == id) { return animal; } } return null; } public void removeAnimal(Animal animal) { list.remove(animal); } public void removeAnimalById(int id) { removeAnimal(getAnimalById(id)); } public Integer getNumberOfAnimals() { return list.size(); } public void clear() { list.clear(); } }