Monday, November 27, 2006

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