The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

SYNOPSIS

use DiagramClass;

my $Class = DiagramClass->new;

Description

DiagramClass 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 = DiagramClass->new($name);

creates and returns a simple DiagramClass object, containing its name and its original position (default 0,0).

Accessors

DiagramClass 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 DiagramClass 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 DiagramClass has highest precedence it won't be superceded and so doesn't have a redundant() method. Superclass and Component do.

Accessing and manipulating the DiagramClass

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

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

$Diagram->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.