/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
public class Main {
public static void main
(String[] args
) { Army army = new Army();
Division division = new Division("8th Infantry Division");
try {
army.addDivision(division);
} catch (DivisionValidateException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
try {
army.addDivision(division);
} catch (DivisionValidateException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
}
class Army {
private Set<Division> divisions = new HashSet<Division>();
public void addDivision(Division division) throws DivisionValidateException {
if (divisions.contains(division)) {
throw new DivisionValidateException("Division with divisionName = \"" + division.getDivisionName()
+ "\" already exists in the army");
}
divisions.add(division);
}
}
class Division {
public Division
(String divisionName
) { this.divisionName = divisionName;
}
public String getDivisionName
() { return divisionName;
}
@Override
public boolean equals
(Object o
) { if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Division division = (Division) o;
if (!divisionName.equals(division.divisionName)) return false;
return true;
}
@Override
public int hashCode() {
return divisionName.hashCode();
}
}
class DivisionValidateException
extends Exception { public DivisionValidateException
(String message
) { super(message);
}
}