Provides visitors for the OIL data structure.
© The University of Manchester, 2001.

Package Specification

This package provides a number of Visitors for the OIL data structures. The Visitor pattern (see Design Patterns, Gamma et.al. p.331) allows us to define operations over a data structure without having to explicitly implement the operations within the classes themselves. This makes it relatively easy to add new operations over the data structure without having to alter or extend the source classes.

In the context of OIL this is particularly useful, as it's likely to be the case that external users of the OIL classes will want to add functionality such as renderers.

Although this allows us to flexibly extend the functionality offered by the OIL data structures, a corresponding down side is that if the subclasses of {@link uk.ac.man.cs.img.oil.data.Expression Expression} or {@link uk.ac.man.cs.img.oil.data.Axiom Axiom} change, then the visitors may need to be changed accordingly.

Visitors are also used in the {@link uk.ac.man.cs.img.oil.output output} package for rendering. @see uk.ac.man.cs.img.oil.data.ExpressionVisitor @see uk.ac.man.cs.img.oil.data.AxiomVisitor @author Sean K. Bechhofer