grim/purple-objects-docbook

added a separate page for hashes and removed them from the ciphers hierarchy
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<chapter id="graphs">
<title>Graphs</title>
<para>
There are many graphs in use in this document. All of the graphs
are generated by the tools in the graphviz package.
</para>
<simplesect id="graph-objects">
<title>Objects</title>
<para>
All object and interfaces are represented by a rectangle. The color is
used to describe the type of object. We see that In
<xref linkend="key-objects"/> abstract classes are pale green, concrete
classes are light pink, and interfaces are powder blue.
</para>
<figure id="key-objects">
<title>Object Key</title>
<graphic fileref="graphs/objects.png"/>
</figure>
</simplesect>
<simplesect id="graph-relationships">
<title>Relationships</title>
<para>
Similar to the object key, the <xref linkend="key-relationships"/>
shows how objects relate to one another. Subclasses point to their
parent class with an open arrow. Classes that implement interfaces
point to the interface they're implementing with an open circle.
Classes that have an instance of another class, are pointed to by that
class with an open diamond.
</para>
<figure id="key-relationships">
<title>Relationship Key</title>
<graphic fileref="graphs/relationships.png"/>
</figure>
</simplesect>
<simplesect id="sect-class">
<title>Classes</title>
<para>
Classes are represented as a UML object as seen in
<xref linkend="figure-class"/>. The class name is the first line
in the top section, and is followed by any modifiers (abstract,
concrete, boxed, etc).
</para>
<para>
The second section contains the object's member variables. They
are prefixed with a '-' meaning they're private or '+' meaning
they're public. If a scope is not defined, neither prefix will
appear for the member variable. The rest of each member variable
is a 'name : type' pair, describing the member variable name and
its type.
</para>
<para>
The final section contains all of the methods for the class. The
methods, like the member variables, have the typical scope prefixes.
Following the prefix is the name of the method. Next, is a list of
arguments to the method in the same 'name : type' pair format,
which are encapsulated in parenthesis. After the arguments is the
final ': type', which is the return type of the method.
</para>
<figure id="figure-class">
<title>ExampleClass</title>
<graphic fileref="graphs/example-class.png"/>
</figure>
</simplesect>
<simplesect id="sect-enums">
<title>Enumerations</title>
<para>
Enumerations are presented similarly to classes, shown in
<xref linkend="example-enum"/>.
</para>
<para>
In the top section we see the name of the enumeration, followed by
a stereotype defining it as an enumeration.
</para>
<para>
The bottom section defines the names, and if given, the value of
the enumeration item in the typical 'name : value' format.
</para>
<figure id="example-enum">
<title>ExampleEnum</title>
<graphic fileref="graphs/example-enum.png"/>
</figure>
</simplesect>
</chapter>