org.eigenbase.jmi
Interface JmiDependencyTransform

All Known Implementing Classes:
JmiDependencyMappedTransform

public interface JmiDependencyTransform

JmiDependencyTransform defines a transformation for use in constructing a JmiDependencyGraph.

Version:
$Id: //open/dev/farrago/src/org/eigenbase/jmi/JmiDependencyTransform.java#9 $
Author:
John V. Sichi

Method Summary
 Collection<RefObject> getSourceNeighbors(RefObject target, Collection<RefObject> candidates, JmiAssocMapping mapping)
          Searches a collection of candidate objects, returning only those which are reachable via links corresponding to mapped incoming model edges to a target object.
 Comparator<RefBaseObject> getTieBreaker()
           
 boolean shouldProduceSelfLoops()
           
 

Method Detail

getSourceNeighbors

Collection<RefObject> getSourceNeighbors(RefObject target,
                                         Collection<RefObject> candidates,
                                         JmiAssocMapping mapping)
Searches a collection of candidate objects, returning only those which are reachable via links corresponding to mapped incoming model edges to a target object.

Parameters:
target - object to which incoming links are to be found
candidates - candidate source objects
mapping - mapping filter for links
Returns:
matching candidates

shouldProduceSelfLoops

boolean shouldProduceSelfLoops()
Returns:
true if self-loops in the dependency graph should be allowed; false to automatically filter them out

getTieBreaker

Comparator<RefBaseObject> getTieBreaker()
Returns:
a comparator which can be used for breaking ties in ordering, or null if no tie-breaking is desired (tie-breaking provides stability during diff-based testing, but adds processing overhead)