Structural -- Composite

--- Component.java ---
package structural.composite;
public interface Component {
Composite getComposite();
void sampleOperation();
}
--- Composite.java ---
package structural.composite;
import java.util.Vector;
import java.util.Enumeration;
public class Composite implements Component {
private Vector componentVector = new Vector();
public Composite getComposite() {
return this;
}
public void sampleOperation() {
java.util.Enumeration components = components();
while (components.hasMoreElements()) {
((Component) components.nextElement()).sampleOperation();
}
}
public void add(Component component) {
componentVector.addElement(component);
}
public void remove(Component component) {
componentVector.removeElement(component);
}
public Enumeration components() {
return componentVector.elements();
}
}
--- Leaf.java ---
package structural.composite;
public class Leaf implements Component {
public void sampleOperation() {
}
public Composite getComposite() {
return null;
}
}

0 Comments:
Post a Comment
<< Home