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

UML::Sequence::Activation - a helper class to support UML::Sequence

SYNOPSIS

    use UML::Sequence::Activation;
    my $activation = UML::Sequence::Activation->new();
    $activation->starts(2);
    ...

DESCRIPTION

This class keeps track of the start, end, offset, and bounds for an activation in the sequence diagram. It is a data container (a node), so it provides direct access to its attributes. The constructor ignores all arguments, use accessors or direct access to insert and check the values.

new

Trivial constructor, taking nothing, returning a blessed reference to an empty hash.

starts

Accessor to set or check the starting attribute. Always returns the value. This is the arrow number at the top of the activation.

ends

Accessor to set or check the ending attribute. Always returns the value. This is the arrow number at the bottom of the activation.

offset

Accessor to set or check the offset attribute. Always returns the value. This is the number of stacked activations. An offset of zero means the activation is centered over the lifelife. An offset of one means a self call activation is on top of the original call. The activation should be pushed to the right (it should be offset).

find_offset

This class method takes a reference to an array of activations and returns the number of them which are open (have undef ends attribute). Pass in the activations for your class, receive the offset number a new activation.

find_bounds

This class method takes a reference to an array of activations and returns the minimum starts and maximum ends attributes for the set.

AUTHOR

Phil Crow, <philcrow2000@yahoo.com>

COPYRIGHT

Copyright 2003, Philip Crow, all rights reserved. You may modify and/or redistribute this code in the same manner as Perl itself.