*/
public class ComponentGraph extends Graph {
- private CompositeEdgeFilter _edgeFilter;
+ private boolean isLinked;
+ private CompositeEdgeFilter edgeFilter;
/**
* Constructs an empty component graph.
*/
public ComponentGraph() {
- _edgeFilter = new CompositeEdgeFilter();
+ isLinked = false;
+ edgeFilter = new CompositeEdgeFilter();
}
/**
*/
public void validate() {
extend(new RequiredProvidedEdgeFactory());
- applyFilter(_edgeFilter);
+ applyFilter(edgeFilter);
accept(new CheckRequiredProvidedMultiplicityVisitor(this));
accept(new CheckExternallyRequiredVisitor(this));
accept(new CheckExternallyProvidedVisitor(this));
* Links provided and required interfaces together in the component
* model based on the graph model.
*/
- public void link() {
+ public void link() {
+ if ( isLinked ) {
+ return;
+ }
accept(new LinkVisitor());
+ isLinked = true;
}
/**
}
public void addEdgeFilter(CompositeEdgeFilter aEdgeFilter) {
- _edgeFilter.add(aEdgeFilter);
+ edgeFilter.add(aEdgeFilter);
}
}