//Accessor function to set what the robot will construct public void setWhatToAssemble(GuitarComponent whatToAssemble) { this.whatToAssemble = whatToAssemble; this.compositeIterator = new CompositeIterator(whatToAssemble.createIterator()); }
//Public constructor, names the robot and tells it what to assemble public Robot(String whichRobot, GuitarComponent whatToAssemble) { this.whichRobot = whichRobot; this.whatToAssemble = whatToAssemble; this.compositeIterator = new CompositeIterator(whatToAssemble.createIterator()); }
//Public constructor, takes an array of GuitarComponent objects as an argument public GuitarComponentIterator(GuitarComponent[] items) { this.items = items; }
public override void add(GuitarComponent guitarComponent) { itemList.Add(guitarComponent); }
//This isn't implemented, as these objects are atomic public override void add(GuitarComponent guitarComponent) { throw new NotImplementedException(); }
//These items must be implemented by all implementations, including GuitarItems //Function to add children to the node public abstract void add(GuitarComponent guitarComponent);