50 lines
1.1 KiB
Java
50 lines
1.1 KiB
Java
package model;
|
|
|
|
import animals.Animal;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
public class Aviary<A extends Animal>{
|
|
|
|
private Size size;
|
|
|
|
public Aviary(Size size){
|
|
this.size = size;
|
|
}
|
|
|
|
public Size getSize() {
|
|
return size;
|
|
}
|
|
|
|
public void setSize(Size size) {
|
|
this.size = size;
|
|
}
|
|
|
|
private HashMap<String, A> aviaryMap = new HashMap<>();
|
|
|
|
public void addAnimal(A animal){
|
|
if (animal.getSize() != this.size){
|
|
throw new WrongSizeException("Размер животного - " + animal.getSize() + ", не подходит размеру вальера - " + this.size);
|
|
}
|
|
else {
|
|
aviaryMap.put(animal.getName(), animal);
|
|
}
|
|
}
|
|
|
|
public A getAnimal(String name){
|
|
return aviaryMap.get(name);
|
|
}
|
|
|
|
public boolean removeAnimal(String name){
|
|
return aviaryMap.remove(name, getAnimal(name));
|
|
}
|
|
|
|
public HashMap<String, A> getAviaryMap() {
|
|
return aviaryMap;
|
|
}
|
|
|
|
public void setAviaryMap(HashMap<String, A> aviaryMap) {
|
|
this.aviaryMap = aviaryMap;
|
|
}
|
|
}
|