Package edu.neu.ccs.demeterf

DemeterF Main package: transformation/traversals with optional arguments.


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.
FC Combined empty Builder/Augmentor implementation
ID Combined ID Builder/Augmentor implementation.
Traversal Traverses an Object structure using a Builder and an Augmentor.
TU<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

DemeterF Main package: transformation/traversals with optional arguments.

Traversals are parametrized by a function objects. Each function class (FC) implements combine and/or update methods, which are called by a traversal when walking a structure.

Note: update methods are only called when the Traversal traverse(Object o, Object a) method is called; i.e., when the original traversal is passed a starting context. 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 combine method with an applicable signature is found. See the individual packages/classes for more info.