view code/composite-component.java @ 7:20c0116dcb97

added files (forgot for last commit
author meillo@marmaro.de
date Mon, 18 Jun 2007 12:10:45 +0200
parents
children
line wrap: on
line source

    class Composite implements IComponent {
            private String id;
            private List<IComponent> list = new ArrayList<IComponent> ();

            public Composite(String id) {
                    this.id = id;
            }

            public String toString() {
                    StringBuilder buf = new StringBuilder();
                    buf.append(String.format("(%s:", id));

                    for (IComponent child : list) {
                          buf.append(" " + child.toString());
                    }
                    buf.append(")");

                    return buf.toString();
            }

            //public List<IComponent> getChildren()

            public Collection getChildren(){
                    return list;
            }

            public boolean addComponent(IComponent c){
                    return list.add(c);
            }

            public boolean removeComponent(IComponent c){
                    return list.remove(c);
            }
    }