class City {
private String name;
public City(String name){
this.name = name;
}
public getName(){
return this.name;
}
}
class Link {
private City cityA;
private City cityB;
private int weight;
private boolean isRail;
public Link(City a, City b, int weight, boolean isRail){
}
public City getCityA(){
}
public City getCityB(){
}
public boolean isCityInLink(City city){
boolean foundCity = false;
if((cityA == city) || (cityB == city)){
foundCity = true;
}
return foundCity;
}
}
class TransportNet{
private List links = new ArrayList();
private List cities = new ArrayList();
public TransportNet(){
//add cities
cities.add(new City("Sydney"));
cities.add(new City("Melbourne"));
cities.add(new City("London"));
cities.add(new City("Venice"));
//add links
addLink("Sydney", "Melbourne", 10, false);
addLink("Sydney", "Melbourne", 12, true);
addLink("Sydney", "Venice", 45345, false);
}
private addLink(String city1, String city2, int weight, boolean isRail){
City a = getCitybyName(city1);
City b = getCitybyName(city1);
links.add(new Link(a, b, weight, isRail);
}
public getCitybyName(String name){
}
public List getCities(){
return cities;
}
public getLinks(City cityA){
List cityLinks = new ArrayList();
for(Link link : links){
if(link.isCityInLink(cityA)){
cityLinks.add(link);
}
}
}
}