// @topic S-0314-12-01-10 Java composite design pattern // @brief Program demonstarting Java composite pattern package composite; public class AppMain { /** * @param args the command line arguments */ public static void main(String[] args) { // Initialize four ellipses ShapeEllipse ellipse1 = new ShapeEllipse(); ShapeEllipse ellipse2 = new ShapeEllipse(); ShapeEllipse ellipse3 = new ShapeEllipse(); ShapeEllipse ellipse4 = new ShapeEllipse(); // Initialize three composite shapes ShapeComposite composite1 = new ShapeComposite(); ShapeComposite composite2 = new ShapeComposite(); ShapeComposite composite3 = new ShapeComposite(); // Composes the shapes composite2.add(ellipse1); composite2.add(ellipse2); composite2.add(ellipse3); composite3.add(ellipse4); composite1.add(composite2); composite1.add(composite3); // Prints the complete shape (four times the string "ShapeEllipse") composite1.print(); } }