Package edu.neu.ccs.demeterf

Package for transformation/traversals with optional arguments.

See:
          Description

Interface Summary
Augmentor Augmentor interface for traversal argument "updateing".
Builder Builder Interface (combine).
BuilderAugmentor Combined Builder and Augmentor interfaces.
 

Class Summary
AbstTraversal Abstract Traversal with Control.
Bc Builder implementation that calls object constructors.
Control Base Control Class, supports the implementation of immutable (and mutable) traversal Control classes.
ID Combined ID Builder/Augmentor implementation.
Traversal Traverses an Object structure using a Builder and an Augmentor.
TUCombiner<T> A Helper Class to implement something like SYB queries.
 

Exception Summary
BuilderException Exception Thrown when Builder methods cannot be found
ValueThrow Represents a Value that can be tossed out of a traversal.
 

Package edu.neu.ccs.demeterf Description

Package for transformation/traversals with optional arguments.

Traversals are parametrized by builder and augmentor function objects. Each functional aspect has an empty interface (Builder and Augmentor) that annotates what kinds of methods it implements. There are a combined interface (BuilderAugmentor) and two concrete classes (ID and Bc) that provide default behavior.

Note: The Augmentor is only called when the Traversal traverse(Object o, Object a) method is called; i.e., when the iriginal traversal is passed a starting argument. See Examples for, well... some examples.

Return types of these methods can be as specific or general as you like. Argument types are used for method execution selection, so they should match expected subtraversal return values. For development safety, during traversal a BuilderException is thrown if no Builder method (combine) with an applicable signature is found. See the individual packages/classes for more info.