Bio::MAGE::Association3pm
Bio::MAGE::Association
Synopsis
use Bio::MAGE::Association qw(:CARD);# creating an empty instancemy $association = Bio::MAGE::Association->new();# populating the instance in the constructormy $association = Bio::MAGE::Association->new(self=>$assoc_end1,other=>$assoc_end2);# setting and retrieving the association endsmy $self_end = $association->self();$association->self($value);my $other_end = $association->other();$association->other($value);
Description
This class holds the two association ends for each UML association. "self" is the end nearest the class of interest, while "other" is the end furthest away. The ends are of type "Bio::MAGE::Association::End".
Cardinality
Associations in UML have a "cardinality" that determines how many objects can be associated. In the "Bio::MAGE::Association" modulte, "cardinality" has two primary dimensions: optional or required, and single or list. So there are four combinations of the two dimensions:
- •
-
0..1
This is an
optionalsingleassociation, meaning it can have one object associated, but it is optional.
- •
-
1
This is a
requiredsingleassociation, meaning itmusthave exactly one object associated.
- •
-
0..N
This is an
optionallistassociation, meaning it can have many objects associated.
- •
-
1..N
This is an
requiredlistassociation, meaning it must haveatleastone object, but itmayhave many.
There are four constants defined in this module for handling the cardinalities, and they can be imported into an application using the CARD import tag:
use Bio::MAGE::Association qw(:CARD);
The four constants are: CARD_0_OR_1, CARD_1, CARD_0_TO_N, and CARD_1_TO_N.
Bio::MAGE::Association::End
Synopsis
use Bio::MAGE::Association qw(:CARD);# creating an empty instancemy $assoc_end = Bio::MAGE::Association::End->new();# populating the instance in the constructormy $assoc_end = Bio::MAGE::Association::End->new(name=>$name,is_ref=>$bool,cardinality=>CARD_0_TO_N,class_name=>$class_name,documentation=>$doc_string,rank=>$rank,ordered=>$bool,);# setting and retrieving object attributesmy $name = $assoc_end->name();$assoc_end->name($value);my $is_ref = $assoc_end->is_ref();$assoc_end->is_ref($value);my $cardinality = $assoc_end->cardinality();$assoc_end->cardinality($value);my $class_name = $assoc_end->class_name();$assoc_end->class_name($value);my $documentation = $assoc_end->documentation();$assoc_end->documentation($value);my $rank = $assoc_end->rank();$assoc_end->rank($value);my $ordered = $assoc_end->ordered();$assoc_end->ordered($value);## Utility methods## does this end of list cardinality (0..N or 1..N)my $bool = $assoc_end->is_list();
Description
This class stores the information in a single UML association end.
Releases
9 releases since Debian 5.0 (Lenny); the text changed 4 times.