Mercurial > docs > DesignPatterns
view code/composite-composite.java @ 34:b2cefbd90180
some redesign; new content for summary and appendix
author | meillo@marmaro.de |
---|---|
date | Sat, 11 Aug 2007 12:49:00 +0200 |
parents | c9e5dcd79aae |
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); } }