NAME

Autodia::Diagram::Class - Class that holds, updates and outputs the values of a diagram element of type class.

SYNOPSIS

use Autodia::Diagram::Class;

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

Description

Autodia::Diagram::Class is an object that represents the Dia UML Class element within a Dia diagram. It holds, outputs and allows the addition of attributes, relationships and methods.

METHODS

Constructor

my $Class = Autodia::Diagram::Class->new($name);

creates and returns a simple Autodia::Diagram::Class object, containing its name and its original position (default 0,0).

Accessors

Autodia::Diagram::Class attributes are accessed through methods, rather than directly. Each attribute is available through calling the method of its name, ie Inheritances(). The methods available are :

Operations, Attributes, Inheritances, Dependancies, Parent, and has_child. The first 4 return a list, the later return a string.

Adding elements to the Autodia::Diagram::Class is acheived through the add_<attribute> methods, ie add_inheritance().

Rather than remove an element from the diagram it is marked as redundant and replaced with a superceding element, as Autodia::Diagram::Class has highest precedence it won't be superceded and so doesn't have a redundant() method. Superclass and Component do.

Accessing and manipulating the Autodia::Diagram::Class

$Class->Attributes(), Inheritances(), Operations(), and Dependancies() all return a list of their respective elements.

$Class->Parent(), and has_child() return the value of the parent or child respectively if present otherwise a false.

$Class->add_attribute(), add_inheritance(), add_operation(), and add_dependancy() all add a new element of their respective types.

See Also

Autodia::DiagramObject

Autodia::Diagram

Autodia::DiagramSuperclass

Autodia::DiagramInheritance

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.