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
Dependancies(); 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
Dependancy which have their names generated automagically.
Objects are not removed, they can only be superceded by another object;
Component can be superceded by Superclass which can superceded 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.