Provided by: autodia_2.14-5_all bug

NAME

       Autodia::Diagram - Class to hold a collection of objects representing parts of a Dia
       Diagram.

SYNOPSIS

       use Autodia::Diagram;

       my $Diagram = Autodia::Diagram->new;

   Description
       Diagram is an object that contains a collection of diagram elements and the logic to
       generate the diagram layout as well as to output the diagram itself in Dia's XML format
       using template toolkit.

METHODS

   Class Methods
       new - constructor method
           creates and returns an unpopulated diagram object.

   Object methods
       To get a collection of a objects of a certain type you use the method of the same name. ie
       $Diagram->Classes() returns an array of 'class' objects.

       The methods available are Classes(), Components(), Superclasses(), Inheritances(),
       Relations(), and Dependencies(); These are all called in the template to get the
       collections of objects to loop through.

       To add an object to the diagram. You call the add_<object type> method, for example
       $Diagram->add_class($class_name), passing the name of the object in the case of Class,
       Superclass and Component but not Inheritance or Dependency which have their names
       generated automagically.

       Objects are not removed, they can only be superseded by another object; Component can be
       superseded by Superclass which can superseded by Class. This is handled by the object
       itself rather than the diagram.

   Accessing and manipulating the Diagram
       Elements are added to the Diagram through the add_<elementname> method (ie add_classes()
       ).

       Collections of elements are retrieved through the <elementname> method (ie Classes() ).

       The diagram is laid out and output to a file using the export_xml() method.

   See Also
       Autodia

       Autodia::Diagram::Object

       Autodia::Diagram::Class

       Autodia::Diagram::Superclass

       Autodia::Diagram::Component

       Autodia::Diagram::Inheritance

       Autodia::Diagram::Relation

       Autodia::Diagram::Dependancy

AUTHOR

       Aaron Trevena, <aaron.trevena@gmail.com>

COPYRIGHT AND LICENSE

       Copyright (C) 2004 by Aaron Trevena

       This library is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself, either Perl version 5.8.1 or, at your option, any later version of
       Perl 5 you may have available.