package org.uva.sea.ql.encoders.visitortest;
import java.util.ArrayList;
import java.util.List;
public class VehicleVisitorImpl implements VehicleVisitor {
public static void main(String[] args) {
VehicleVisitor vehicleVisitor = new VehicleVisitorImpl();
List<Vehicle> children = new ArrayList<Vehicle>();
children.add(new Car());
children.add(new Bus());
Root root = new Root(children);
root.accept(vehicleVisitor);
}
@Override
public void visit(Root root) {
System.out.println("root");
List<Vehicle> children = root.getChildren();
for (Vehicle vehicle : children) {
vehicle.accept(this);
}
}
@Override
public void visit(Car car) {
System.out.println("car");
}
@Override
public void visit(Bus bus) {
System.out.println("bus");
}
}