public void dispose() { for( Graph graph : leafGraphs ) { graph.getEventManager().unregister( this ); } leafGraphs.clear(); changedGraphs.clear(); statementDeleted = false; }
public void setEnabled(boolean enabled) { if (this.enabled == enabled) { return; } this.enabled = enabled; leafGraphs.clear(); changedGraphs.clear(); statementDeleted = false; if (enabled) { collectLeafGraphs( rootGraph, Collections.<Graph>emptySet() ); } else { for( Graph graph : leafGraphs ) { graph.getEventManager().unregister( this ); } } }
public Set<Graph> getChangedGraphs() { Set<Graph> prevLeaves = leafGraphs; leafGraphs = CollectionUtils.makeSet(); collectLeafGraphs( rootGraph, prevLeaves ); for( Graph prevLeaf : prevLeaves ) { if( !leafGraphs.contains( prevLeaf ) ) { statementDeleted = true; prevLeaf.getEventManager().unregister( this ); } } if( statementDeleted ) { return null; } return changedGraphs; }
/** Unregister the listener from this model by unregistering its GraphListener adaption from the underlying Graph. @param a ModelChangedListener to unregister from model events @return this model, for cascading */ @Override public Model unregister( ModelChangedListener listener ) { getGraph().getEventManager().unregister( adapt( listener ) ); return this; }