Package edu.neu.ccs.demeter.aplib

Interface Summary
ClassGraphI A directed graph whose nodes are unique Objects with unique String labels and whose edges are EdgeI objects.
ConstraintMapI A function from elements in a strategy graph to symbolic element predicates for a class graph and name map.
EdgeI An edge in a class graph.
NameMapI A relation whose domain is symbolic names in an encapsulated strategy and whose range is nodes and edge labels in a class graph.
SimpleStrategyI An encapsulated strategy consisting of a strategy graph S, sets of source and target nodes s and t (subsets of nodes in S), a name relation N from nodes in S to symbolic names (strings), and a constraint map B from edges in S to predicates over symbolic elements.
StrategyCombinationI A combination of two traversal strategies.
StrategyGraphI A directed graph whose nodes are unique Objects and whose edges are unlabeled but ordered.
StrategyI A traversal strategy: a high-level, generic description of a set of paths through a family of class graphs.
 

Class Summary
APLibTest Testing stub.
Traversal A compact, efficient representation of a set of paths through a class graph that can be used to guide a traversal of an object graph.
TraversalCombination A combination of two traversals.
TraversalGraph A traversal graph TG(S,G,N,B) is constructed from an encapsulated strategy S, a class graph G, a name map N for S and G, and a constraint map B for S and G according to a modified version of Algorithm 1 in the paper "Traversals of Object Structures: Specification and Efficient Implementation" (the modifications allow G to be non-simple and N to be a relation instead of a function).
TraversalIntersection The intersection of two traversals, that is, the set of paths that are in both traversals.
 

Exception Summary
IncompatibleClassGraphsException Thrown when combining two traversals that do not share the same class graph.
NoSuchClassGraphEdgeException Thrown when a constraint map edge label cannot be mapped to a class graph edge.
NoSuchClassGraphEdgeLabelException Thrown when a constraint map edge label cannot be mapped to a class graph edge label.
NoSuchClassGraphNodeException Thrown when a strategy graph or constraint map node cannot be mapped to a class graph node.
TraversalException Thrown when a traversal cannot be created.