[Exmmt-commit] SF.net SVN: exmmt: [105] net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/
Status: Inactive
Brought to you by:
lgrammel
From: <lgr...@us...> - 2006-06-05 23:42:12
|
Revision: 105 Author: lgrammel Date: 2006-06-05 08:34:11 -0700 (Mon, 05 Jun 2006) ViewCVS: http://svn.sourceforge.net/exmmt/?rev=105&view=rev Log Message: ----------- #1500774 scenario "shopping list" Modified Paths: -------------- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/builder/Controller.java net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/builder/ControllerTreeBuilder.java Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/builder/Controller.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/builder/Controller.java 2006-06-05 15:34:03 UTC (rev 104) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/builder/Controller.java 2006-06-05 15:34:11 UTC (rev 105) @@ -26,22 +26,21 @@ private final List<Controller> children = new ArrayList<Controller>(); - private final IRenderer renderer; + private IRenderer renderer = new NullRenderer(); public Controller(Object model) { - this(model, new NullRenderer()); - } - - public Controller(Object model, IRenderer renderer) { assert model != null; - assert renderer != null; - this.model = model; - this.renderer = renderer; } - public Object getModel() { - return model; + public void addChild(Controller child) { + assert child != null; + + child.setParent(this); + children.add(child); + + assert child.getParent() == this; + assert children.contains(child); } // TODO result should be immutable or a copy @@ -49,36 +48,36 @@ return children; } + public Object getModel() { + return model; + } + public Controller getParent() { return parent; } - private void setParent(Controller parent) { - this.parent = parent; + public IRenderer getRenderer() { + assert renderer != null; + + return renderer; } - public void addChild(Controller child) { - assert child != null; - - child.setParent(this); - children.add(child); - - assert child.getParent() == this; - assert children.contains(child); + public boolean hasChildren() { + return !children.isEmpty(); } public boolean isRoot() { return parent == null; } - public boolean hasChildren() { - return !children.isEmpty(); + private void setParent(Controller parent) { + this.parent = parent; } - public IRenderer getRenderer() { + public void setRenderer(IRenderer renderer) { assert renderer != null; - return renderer; + this.renderer = renderer; } } \ No newline at end of file Modified: net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/builder/ControllerTreeBuilder.java =================================================================== --- net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/builder/ControllerTreeBuilder.java 2006-06-05 15:34:03 UTC (rev 104) +++ net.sourceforge.exmmt/trunk/src/java/net/sourceforge/exmmt/builder/ControllerTreeBuilder.java 2006-06-05 15:34:11 UTC (rev 105) @@ -23,23 +23,28 @@ public class ControllerTreeBuilder { public Controller build(Element element) { - Controller composite = new Controller(element, new HorizontalSequenceRenderer()); + Controller controller = new Controller(element); + controller.setRenderer(new HorizontalSequenceRenderer()); List<Element> childElements = element.getChildren(); for (Element childElement : childElements) { - composite.addChild(build(childElement)); + controller.addChild(build(childElement)); } List<Attribute> attributes = element.getAttributes(); for (Attribute attribute : attributes) { - composite.addChild(build(attribute)); + controller.addChild(build(attribute)); } - return composite; + return controller; } private Controller build(Attribute attribute) { - return new Controller(attribute, new AttributeRenderer(attribute)); + Controller controller = new Controller(attribute); + + controller.setRenderer(new AttributeRenderer(attribute)); + + return controller; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |