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