import java.util.*;
public class Composite extends Component {
private ArrayList children = new ArrayList();
public Composite(String name) {
super(name);
}
public void add(Component c) {
children.add(c);
}
public void remove(Component c) {
children.remove(c);
}
public void display() {
System.out.println(name);
for (int i=0;i<children.size();i++) {
Component c = (Component)children.get(i);
c.display();
}
}
}
public class Leaf extends Component {
public Leaf(String name) {
super(name);
}
public void add(Component c) {
System.out.println("LeafにはComponentを追加できません");
}
public void remove(Component c) {
System.out.println("Leafから削除できるComponentはありません");
}
public void display() {
System.out.println(name);
}
}