

Generates HTML fragment for a declaration. Multiple strategies are
combined to generate the output for a single declaration, allowing the
user to customise the output by choosing a set of strategies. This follows
the Strategy design pattern.
The key concept of this class is the format* methods. Any
class derived from Strategy that overrides one of the format methods
will have that method called by the Summary and Detail formatters when
they visit that ASG type. Summary and Detail maintain a list of
Strategies, and a list for each ASG type.
For example, when Strategy.Summary visits a Function object, it calls
the formatFunction method on all Strategys registed with
SummaryFormatter that implemented that method. Each of these format
methods returns a string, which may contain a TD tag to create a new
column.
An important point to note is that only Strategies which override a
particular format method are called - if that format method is not
overridden then it is not called for that declaration type.