Questa è la classe principale:
codice:
public class TravelHandling {
private int numClienti;
private HashMap<String, Customer> elencoClienti;
private HashMap<String, Destination> elencoDestinazioni;
private HashMap<String, Operator> elencoOperatori;
public TravelHandling(){
elencoClienti = new HashMap<>();
elencoDestinazioni = new HashMap<>();
elencoOperatori = new HashMap<>();
elencoProposte = new HashMap<>();
elencoQuotes = new LinkedList<>();
numClienti = 0;
}
public void addCustomers(String... userNames) {
for(String s : userNames){
Customer c = new Customer(s);
elencoClienti.put(s, c);
numClienti = numClienti +1;
}
}
public void addDestination(String destinationName, String... operatorNames) throws TravelException {
Destination d = elencoDestinazioni.get(destinationName);
if(d != null) throw new TravelException();
Destination d2 = new Destination(destinationName);
elencoDestinazioni.put(destinationName, d2);
for(String ss : operatorNames){
Operator o = new Operator(ss);
elencoOperatori.put(ss, o);
o.setDestinazione(destinationName);
d2.setOperatore(ss);
}
}
public List<String> getDestinations(String operatorName) {
return elencoOperatori.get(operatorName).getDestinazioni();
}
}
Questa la classe Operator:
codice:
public class Operator {
private String nomeOperatore;
private LinkedList<String> elencoDestinazioni;
private String proposta;
private TravelHandling appartenenza;
public Operator(String n){
nomeOperatore = n;
elencoDestinazioni = new LinkedList<>();
}
public void setDestinazione(String q){
elencoDestinazioni.add(q);
}
public LinkedList<String> getDestinazioni(){
return elencoDestinazioni;
}
public String getNome(){
return nomeOperatore;
}
}