// @topic S-0314-13-01-10 Java Visitor Design pattern // @brief Various visitors visiting building elevators and floors package visitors; import java.util.ArrayList; public class MainApp { public static void main(String[] args) { Elevator e1 = new Elevator(); Elevator e2 = new Elevator(); Floor f1 = new Floor(); Floor f2 = new Floor(); Floor f3 = new Floor(); ArrayList< IElement> visitables = new ArrayList<>(); visitables.add(e1); visitables.add(e2); visitables.add(f1); visitables.add(f2); visitables.add(f3); VisitorEmployee employee = new VisitorEmployee(); VisitorGuest guest = new VisitorGuest(); ArrayList< IVisitor> visitors = new ArrayList<>(); visitors.add(employee); visitors.add(guest); for (IElement element : visitables) { for (IVisitor visitor : visitors) { element.accept(visitor); } } }//main }//class MainApp