| UMMF documentation | Contained in the UMMF distribution. |
procedure : THIS 0..1 <---> expression : UMMF::UML_1_5::Foundation::Data_Types::Expression 0..*procedure : THIS 0..1 <---> method : UMMF::UML_1_5::Foundation::Core::Method 0..*doActivity : THIS 0..1 <---> state_doActivity : UMMF::UML_1_5::Behavioral_Elements::State_Machines::State 0..1entry : THIS 0..1 <---> state_entry : UMMF::UML_1_5::Behavioral_Elements::State_Machines::State 0..1exit : THIS 0..1 <---> state_exit : UMMF::UML_1_5::Behavioral_Elements::State_Machines::State 0..1dispatchAction : THIS 1 <---> stimulus : UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus 0..*effect : THIS 0..1 <---> transition : UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition 0..1__validate_type__typecheckisaProcedureisaBehavioral_Elements__Common_Behavior__Procedure__model_name __isAbstract__tangram_schema___initialize__initialize__createlanguageset_languagecount_languagebodyset_bodycount_bodyisListset_isListcount_isListexpressionset_expressionadd_expressionremove_expressionclear_expressioncount_expressionmethodset_methodadd_methodremove_methodclear_methodcount_methodstate_doActivityset_state_doActivityadd_state_doActivityremove_state_doActivityclear_state_doActivitycount_state_doActivitystate_entryset_state_entryadd_state_entryremove_state_entryclear_state_entrycount_state_entrystate_exitset_state_exitadd_state_exitremove_state_exitclear_state_exitcount_state_exitstimulusset_stimulusadd_stimulusremove_stimulusclear_stimuluscount_stimulustransitionset_transitionadd_transitionremove_transitionclear_transitioncount_transition
UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure --
1.5
language : UMMF::UML_1_5::Foundation::Data_Types::Name private1changeableinstanceunorderedSet::Objectbody : UMMF::UML_1_5::Foundation::Data_Types::String private1changeableinstanceunorderedSet::ObjectisList : UMMF::UML_1_5::Foundation::Data_Types::Boolean private1changeableinstanceunorderedSet::Objectprocedure : THIS 0..1 <---> expression : UMMF::UML_1_5::Foundation::Data_Types::Expression 0..*0..*changeableinstancenonepublicSet::Objectprocedure : THIS 0..1 <---> method : UMMF::UML_1_5::Foundation::Core::Method 0..*0..*changeableinstancenonepublicSet::ObjectdoActivity : THIS 0..1 <---> state_doActivity : UMMF::UML_1_5::Behavioral_Elements::State_Machines::State 0..10..1changeableinstancecompositeprivateSet::Objectentry : THIS 0..1 <---> state_entry : UMMF::UML_1_5::Behavioral_Elements::State_Machines::State 0..10..1changeableinstancecompositeprivateSet::Objectexit : THIS 0..1 <---> state_exit : UMMF::UML_1_5::Behavioral_Elements::State_Machines::State 0..10..1changeableinstancecompositeprivateSet::ObjectdispatchAction : THIS 1 <---> stimulus : UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus 0..*0..*changeableinstancenoneprivateSet::Objecteffect : THIS 0..1 <---> transition : UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition 0..10..1changeableinstancecompositeprivateSet::Object__validate_typeUMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure->__validate_type($value);
Returns true if $value is a valid representation of UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.
__typecheckUMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure->__typecheck($value, $msg);
Calls confess() with $msg if <UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure-__validate_type($value)>> is false.
isaProcedureReturns true if receiver is a UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure. Other receivers will return false.
isaBehavioral_Elements__Common_Behavior__ProcedureReturns true if receiver is a UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.
Other receivers will return false.
This is the fully qualified version of the isaProcedure method.
__model_name my $name = $obj_or_package->__model_name;
Returns the UML Model name ('Behavioral_Elements::Common_Behavior::Procedure') for an object or package of
this Classifier.
__isAbstract$package->__isAbstract;
Returns 0.
__tangram_schemamy $tangram_schema $obj_or_package->__tangram_schema
Returns a HASH ref that describes this Classifier for Tangram.
___initializeInitialize all Attributes and AssociationEnds in a instance of this Classifier. Does not initalize slots in its Generalizations.
See also: __initialize.
__initializeInitialize all slots in this Classifier and all its Generalizations.
See also: ___initialize.
__createCalls all <<create>> Methods for this Classifier and all Generalizations.
See also: ___create.
languagemy $val = $obj->language;
Returns the UMMF::UML_1_5::Foundation::Data_Types::Name value of Attribute language.
set_language$obj->set_language($val);
Sets the value of Attribute language.
$val must be of type UMMF::UML_1_5::Foundation::Data_Types::Name or undef.
Returns $obj.
count_language$obj->count_language;
Returns the number of elements (0 or 1) in language.
bodymy $val = $obj->body;
Returns the UMMF::UML_1_5::Foundation::Data_Types::String value of Attribute body.
set_body$obj->set_body($val);
Sets the value of Attribute body.
$val must be of type UMMF::UML_1_5::Foundation::Data_Types::String or undef.
Returns $obj.
count_body$obj->count_body;
Returns the number of elements (0 or 1) in body.
isListmy $val = $obj->isList;
Returns the UMMF::UML_1_5::Foundation::Data_Types::Boolean value of Attribute isList.
set_isList$obj->set_isList($val);
Sets the value of Attribute isList.
$val must be of type UMMF::UML_1_5::Foundation::Data_Types::Boolean or undef.
Returns $obj.
count_isList$obj->count_isList;
Returns the number of elements (0 or 1) in isList.
expressionmy @val = $obj->expression; my $ary_val = $obj->expression;
Returns the AssociationEnd expression values of type UMMF::UML_1_5::Foundation::Data_Types::Expression.
In array context, returns all the objects in the Association.
In scalar context, returns an array ref of all the objects in the Association.
set_expression$obj->set_expression(@val);
Sets the AssociationEnd expression value.
Elements of @val must of type UMMF::UML_1_5::Foundation::Data_Types::Expression.
Returns $obj.
add_expression$obj->add_expression(@val);
Adds AssociationEnd expression values.
Elements of @val must of type UMMF::UML_1_5::Foundation::Data_Types::Expression.
Returns $obj.
remove_expression$obj->remove_expression(@val);
Removes the AssociationEnd expression values @val.
Elements of @val must of type UMMF::UML_1_5::Foundation::Data_Types::Expression.
Returns $obj.
clear_expression$obj->clear_expression;
Clears the AssociationEnd expression links to UMMF::UML_1_5::Foundation::Data_Types::Expression.
Returns $obj.
count_expression$obj->count_expression;
Returns the number of elements associated with expression.
methodmy @val = $obj->method; my $ary_val = $obj->method;
Returns the AssociationEnd method values of type UMMF::UML_1_5::Foundation::Core::Method.
In array context, returns all the objects in the Association.
In scalar context, returns an array ref of all the objects in the Association.
set_method$obj->set_method(@val);
Sets the AssociationEnd method value.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Method.
Returns $obj.
add_method$obj->add_method(@val);
Adds AssociationEnd method values.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Method.
Returns $obj.
remove_method$obj->remove_method(@val);
Removes the AssociationEnd method values @val.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Method.
Returns $obj.
clear_method$obj->clear_method;
Clears the AssociationEnd method links to UMMF::UML_1_5::Foundation::Core::Method.
Returns $obj.
count_method$obj->count_method;
Returns the number of elements associated with method.
state_doActivitymy $val = $obj->state_doActivity;
Returns the AssociationEnd state_doActivity value of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
set_state_doActivity$obj->set_state_doActivity($val);
Sets the AssociationEnd state_doActivity value.
$val must of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
Returns $obj.
add_state_doActivity$obj->add_state_doActivity($val);
Adds the AssociationEnd state_doActivity value.
$val must of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
Throws exception if a value already exists.
Returns $obj.
remove_state_doActivity$obj->remove_state_doActivity($val);
Removes the AssociationEnd state_doActivity value $val.
Returns $obj.
clear_state_doActivity$obj->clear_state_doActivity;
Clears the AssociationEnd state_doActivity links to UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
Returns $obj.
count_state_doActivity$obj->count_state_doActivity;
Returns the number of elements of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State associated with state_doActivity.
state_entrymy $val = $obj->state_entry;
Returns the AssociationEnd state_entry value of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
set_state_entry$obj->set_state_entry($val);
Sets the AssociationEnd state_entry value.
$val must of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
Returns $obj.
add_state_entry$obj->add_state_entry($val);
Adds the AssociationEnd state_entry value.
$val must of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
Throws exception if a value already exists.
Returns $obj.
remove_state_entry$obj->remove_state_entry($val);
Removes the AssociationEnd state_entry value $val.
Returns $obj.
clear_state_entry$obj->clear_state_entry;
Clears the AssociationEnd state_entry links to UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
Returns $obj.
count_state_entry$obj->count_state_entry;
Returns the number of elements of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State associated with state_entry.
state_exitmy $val = $obj->state_exit;
Returns the AssociationEnd state_exit value of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
set_state_exit$obj->set_state_exit($val);
Sets the AssociationEnd state_exit value.
$val must of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
Returns $obj.
add_state_exit$obj->add_state_exit($val);
Adds the AssociationEnd state_exit value.
$val must of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
Throws exception if a value already exists.
Returns $obj.
remove_state_exit$obj->remove_state_exit($val);
Removes the AssociationEnd state_exit value $val.
Returns $obj.
clear_state_exit$obj->clear_state_exit;
Clears the AssociationEnd state_exit links to UMMF::UML_1_5::Behavioral_Elements::State_Machines::State.
Returns $obj.
count_state_exit$obj->count_state_exit;
Returns the number of elements of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::State associated with state_exit.
stimulusmy @val = $obj->stimulus; my $ary_val = $obj->stimulus;
Returns the AssociationEnd stimulus values of type UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus.
In array context, returns all the objects in the Association.
In scalar context, returns an array ref of all the objects in the Association.
set_stimulus$obj->set_stimulus(@val);
Sets the AssociationEnd stimulus value.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus.
Returns $obj.
add_stimulus$obj->add_stimulus(@val);
Adds AssociationEnd stimulus values.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus.
Returns $obj.
remove_stimulus$obj->remove_stimulus(@val);
Removes the AssociationEnd stimulus values @val.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus.
Returns $obj.
clear_stimulus$obj->clear_stimulus;
Clears the AssociationEnd stimulus links to UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus.
Returns $obj.
count_stimulus$obj->count_stimulus;
Returns the number of elements associated with stimulus.
transitionmy $val = $obj->transition;
Returns the AssociationEnd transition value of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition.
set_transition$obj->set_transition($val);
Sets the AssociationEnd transition value.
$val must of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition.
Returns $obj.
add_transition$obj->add_transition($val);
Adds the AssociationEnd transition value.
$val must of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition.
Throws exception if a value already exists.
Returns $obj.
remove_transition$obj->remove_transition($val);
Removes the AssociationEnd transition value $val.
Returns $obj.
clear_transition$obj->clear_transition;
Clears the AssociationEnd transition links to UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition.
Returns $obj.
count_transition$obj->count_transition;
Returns the number of elements of type UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition associated with transition.
END OF DOCUMENT
| UMMF documentation | Contained in the UMMF distribution. |
# -*- perl -*- # DO NOT EDIT - This file is generated by UMMF; http://ummf.sourceforge.net # From template: $Id: Perl.txt,v 1.77 2006/05/14 01:40:03 kstephens Exp $ package UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure; #use 5.6.1; use strict; use warnings; ################################################################# # Version # our $VERSION = do { my @r = (q{1.5} =~ /\d+/g); sprintf "%d." . "%03d" x $#r, @r }; ################################################################# # Documentation #
################################################################# # Dependencies # use Carp qw(croak confess); use Set::Object 1.05; use Class::Multimethods 1.70; use Data::Dumper; use Scalar::Util qw(weaken); use UMMF::UML_1_5::__ObjectBase qw(:__ummf_array); ################################################################# # Generalizations # use base qw( UMMF::UML_1_5::Foundation::Core::ModelElement ); ################################################################# # Exports # our @EXPORT_OK = qw( ); our %EXPORT_TAGS = ( 'all' => \@EXPORT_OK ); ################################################################# # Validation #
sub __validate_type($$) { my ($self, $x) = @_; no warnings; UNIVERSAL::isa($x, 'UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure') ; }
sub __typecheck { my ($self, $x, $msg) = @_; confess("typecheck: $msg: type '" . 'UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure' . ": value '$x'") unless __validate_type($self, $x); }
sub isaProcedure { 1 }
sub isaBehavioral_Elements__Common_Behavior__Procedure { 1 } ################################################################# # Introspection #
sub __model_name { 'Behavioral_Elements::Common_Behavior::Procedure' }
sub __isAbstract { 0; } my $__tangram_schema;
sub __tangram_schema { my ($self) = @_; $__tangram_schema ||= { 'classes' => [ 'UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure' => { 'table' => 'Behavioral_Elements__Common_Behavior__Procedure', 'abstract' => 0, 'slots' => { # Attributes 'language' => { 'type_impl' => 'string', 'col' => 'language', } , 'body' => { 'type_impl' => 'ref', 'class' => 'UMMF::UML_1_5::Foundation::Data_Types::String', 'col' => 'body', } , 'isList' => { 'type_impl' => 'string', 'col' => 'isList', } , # Associations 'expression' => { 'type_impl' => 'iset', 'class' => 'UMMF::UML_1_5::Foundation::Data_Types::Expression', 'table' => 'Behavioral_Elements__Common_Behavior__Procedure__expression', 'coll' => 'procedure', } , 'method' => { 'type_impl' => 'iset', 'class' => 'UMMF::UML_1_5::Foundation::Core::Method', 'table' => 'Behavioral_Elements__Common_Behavior__Procedure__method', 'coll' => 'procedure', } , 'state_doActivity' => { 'type_impl' => 'ref', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::State_Machines::State', 'null' => '1', 'col' => 'state_doActivity', } , 'state_entry' => { 'type_impl' => 'ref', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::State_Machines::State', 'null' => '1', 'col' => 'state_entry', } , 'state_exit' => { 'type_impl' => 'ref', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::State_Machines::State', 'null' => '1', 'col' => 'state_exit', } , 'stimulus' => { 'type_impl' => 'iset', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus', 'table' => 'Behavioral_Elements__Common_Behavior__Procedure__stimulus', 'coll' => 'dispatchAction', } , 'transition' => { 'type_impl' => 'ref', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition', 'null' => '1', 'col' => 'transition', } , }, 'bases' => [ 'UMMF::UML_1_5::Foundation::Core::ModelElement', ], 'sql' => { }, }, ], 'sql' => { # Note Tangram::Ref::get_exporter() has # "UPDATE $table SET $self->{col} = $refid WHERE id = $id", # The id_col is hard-coded, # Thus id_col will not work. #'id_col' => '__sid', #'class_col' => '__stype', }, # 'set_id' => sub { } # 'get_id' => sub { } }; } ################################################################# # Class Attributes # ################################################################# # Class Associations # ################################################################# # Initialization #
sub ___initialize { my ($self) = @_; # Attributes # Attribute language if ( exists $self->{'language'} ) { my $x = $self->{'language'}; $self->{'language'} = undef; $self->set_language($x); } else { } # Attribute body if ( exists $self->{'body'} ) { my $x = $self->{'body'}; $self->{'body'} = undef; $self->set_body($x); } else { } # Attribute isList if ( exists $self->{'isList'} ) { my $x = $self->{'isList'}; $self->{'isList'} = undef; $self->set_isList($x); } else { } # Associations # AssociationEnd # procedure 0..1 # <--> # expression 0..* UMMF::UML_1_5::Foundation::Data_Types::Expression. if ( defined $self->{'expression'} ) { my $x = $self->{'expression'}; $self->{'expression'} = Set::Object->new(); $self->set_expression(@$x); } # AssociationEnd # procedure 0..1 # <--> # method 0..* UMMF::UML_1_5::Foundation::Core::Method. if ( defined $self->{'method'} ) { my $x = $self->{'method'}; $self->{'method'} = Set::Object->new(); $self->set_method(@$x); } # AssociationEnd # doActivity 0..1 # <--> # state_doActivity 0..1 UMMF::UML_1_5::Behavioral_Elements::State_Machines::State. if ( defined $self->{'state_doActivity'} ) { my $x = $self->{'state_doActivity'}; $self->{'state_doActivity'} = undef; $self->set_state_doActivity($x); } # AssociationEnd # entry 0..1 # <--> # state_entry 0..1 UMMF::UML_1_5::Behavioral_Elements::State_Machines::State. if ( defined $self->{'state_entry'} ) { my $x = $self->{'state_entry'}; $self->{'state_entry'} = undef; $self->set_state_entry($x); } # AssociationEnd # exit 0..1 # <--> # state_exit 0..1 UMMF::UML_1_5::Behavioral_Elements::State_Machines::State. if ( defined $self->{'state_exit'} ) { my $x = $self->{'state_exit'}; $self->{'state_exit'} = undef; $self->set_state_exit($x); } # AssociationEnd # dispatchAction 1 # <--> # stimulus 0..* UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus. if ( defined $self->{'stimulus'} ) { my $x = $self->{'stimulus'}; $self->{'stimulus'} = Set::Object->new(); $self->set_stimulus(@$x); } # AssociationEnd # effect 0..1 # <--> # transition 0..1 UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition. if ( defined $self->{'transition'} ) { my $x = $self->{'transition'}; $self->{'transition'} = undef; $self->set_transition($x); } $self; } my $__initialize_use;
sub __initialize { my ($self) = @_; # $DB::single = 1; unless ( ! $__initialize_use ) { $__initialize_use = 1; $self->__use('UMMF::UML_1_5::Foundation::Core::Element'); $self->__use('UMMF::UML_1_5::Foundation::Core::ModelElement'); } $self->UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure::___initialize; $self->UMMF::UML_1_5::Foundation::Core::Element::___initialize; $self->UMMF::UML_1_5::Foundation::Core::ModelElement::___initialize; $self; }
sub __create { my ($self, @args) = @_; # $DB::single = 1; $self->UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure::___create(@args); $self->UMMF::UML_1_5::Foundation::Core::Element::___create(); $self->UMMF::UML_1_5::Foundation::Core::ModelElement::___create(); $self; } ################################################################# # Attributes #
################################################################# # Attribute language # type = UMMF::UML_1_5::Foundation::Data_Types::Name # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue =
sub language ($) { my ($self) = @_; ; my $val = $self->{'language'}; ; $val; }
sub set_language ($$) { my ($self, $val) = @_; ; if ( defined $val ) { ; } $self->{'language'} = $val ; ; $self; }
sub count_language ($) { my ($self) = @_; ; my $val = $self->{'language'}; ; defined $val ? 1 : 0; }
################################################################# # Attribute body # type = UMMF::UML_1_5::Foundation::Data_Types::String # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue =
sub body ($) { my ($self) = @_; ; my $val = $self->{'body'}; ; $val; }
sub set_body ($$) { my ($self, $val) = @_; ; if ( defined $val ) { ; } $self->{'body'} = $val ; ; $self; }
sub count_body ($) { my ($self) = @_; ; my $val = $self->{'body'}; ; defined $val ? 1 : 0; }
################################################################# # Attribute isList # type = UMMF::UML_1_5::Foundation::Data_Types::Boolean # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue =
sub isList ($) { my ($self) = @_; ; my $val = $self->{'isList'}; ; $val; }
sub set_isList ($$) { my ($self, $val) = @_; ; if ( defined $val ) { ; } $self->{'isList'} = $val ; ; $self; }
sub count_isList ($) { my ($self) = @_; ; my $val = $self->{'isList'}; ; defined $val ? 1 : 0; } ################################################################# # Association #
################################################################# # AssociationEnd procedure <---> expression # type = UMMF::UML_1_5::Foundation::Data_Types::Expression # multiplicity = 0..* # ordering =
sub expression ($) { my ($self) = @_; my $x = $self->{'expression'}; # confess("Container for expression $x is not a blessed ref: " . Data::Dumper->new([ $self ], [qw($self)])->Maxdepth(2)->Dump()) if $x && ref($x) !~ /::/; wantarray ? ($x ? $x->members() : ()) : [ $x ? $x->members() : () ]; }
sub set_expression ($@) { my ($self, @val) = @_; $self->clear_expression; $self->add_expression(@val); }
sub add_expression ($@) { my ($self, @val) = @_; my $x = $self->{'expression'} ||= Set::Object->new(); my $old; # Place holder for other MACRO. for my $val ( @val ) { # Recursion lock next if $x->includes($val); $self->__use('UMMF::UML_1_5::Foundation::Data_Types::Expression')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.expression"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_procedure($self) if $old; $val->add_procedure($self) if $val; } $self; }
sub remove_expression ($@) { my ($self, @val) = @_; my $x = $self->{'expression'} ||= Set::Object->new(); for my $old ( @val ) { # Recursion lock next unless $x->includes($old); my $val = $old; $self->__use('UMMF::UML_1_5::Foundation::Data_Types::Expression')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.expression"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_procedure($self) if $old; $val->add_procedure($self) if $val; ; } $self; }
sub clear_expression ($) { my ($self) = @_; my $x = $self->{'expression'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'expression'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_procedure($self) if $old; $val->add_procedure($self) if $val; ; } $self; }
sub count_expression ($) { my ($self) = @_; my $x = $self->{'expression'}; defined $x ? $x->size : 0; }
################################################################# # AssociationEnd procedure <---> method # type = UMMF::UML_1_5::Foundation::Core::Method # multiplicity = 0..* # ordering =
sub method ($) { my ($self) = @_; my $x = $self->{'method'}; # confess("Container for method $x is not a blessed ref: " . Data::Dumper->new([ $self ], [qw($self)])->Maxdepth(2)->Dump()) if $x && ref($x) !~ /::/; wantarray ? ($x ? $x->members() : ()) : [ $x ? $x->members() : () ]; }
sub set_method ($@) { my ($self, @val) = @_; $self->clear_method; $self->add_method(@val); }
sub add_method ($@) { my ($self, @val) = @_; my $x = $self->{'method'} ||= Set::Object->new(); my $old; # Place holder for other MACRO. for my $val ( @val ) { # Recursion lock next if $x->includes($val); $self->__use('UMMF::UML_1_5::Foundation::Core::Method')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.method"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_procedure($self) if $old; $val->add_procedure($self) if $val; } $self; }
sub remove_method ($@) { my ($self, @val) = @_; my $x = $self->{'method'} ||= Set::Object->new(); for my $old ( @val ) { # Recursion lock next unless $x->includes($old); my $val = $old; $self->__use('UMMF::UML_1_5::Foundation::Core::Method')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.method"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_procedure($self) if $old; $val->add_procedure($self) if $val; ; } $self; }
sub clear_method ($) { my ($self) = @_; my $x = $self->{'method'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'method'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_procedure($self) if $old; $val->add_procedure($self) if $val; ; } $self; }
sub count_method ($) { my ($self) = @_; my $x = $self->{'method'}; defined $x ? $x->size : 0; }
################################################################# # AssociationEnd doActivity <---> state_doActivity # type = UMMF::UML_1_5::Behavioral_Elements::State_Machines::State # multiplicity = 0..1 # ordering =
sub state_doActivity ($) { my ($self) = @_; $self->{'state_doActivity'}; }
sub set_state_doActivity ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'state_doActivity'}) ne $val ) { # Recursion lock if ( defined $val ) { $self->__use('UMMF::UML_1_5::Behavioral_Elements::State_Machines::State')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.state_doActivity") } # Recursion lock $self->{'state_doActivity'} = $val ; # Remove and add associations with other ends. $old->remove_doActivity($self) if $old; $val->add_doActivity($self) if $val; } $self; }
sub add_state_doActivity ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'state_doActivity'}) ne $val ) { # Recursion lock $self->__use('UMMF::UML_1_5::Behavioral_Elements::State_Machines::State')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.state_doActivity"); # confess("UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure::state_doActivity: too many") # if defined $self->{'state_doActivity'}; # Recursion lock $self->{'state_doActivity'} = $val ; # Remove and add associations with other ends. $old->remove_doActivity($self) if $old; $val->add_doActivity($self) if $val; } $self; }
sub remove_state_doActivity ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'state_doActivity'}) eq $val ) { # Recursion lock $val = $self->{'state_doActivity'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_doActivity($self) if $old; $val->add_doActivity($self) if $val; } }
sub clear_state_doActivity ($@) { my ($self) = @_; my $old; if ( defined ($old = $self->{'state_doActivity'}) ) { # Recursion lock my $val = $self->{'state_doActivity'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_doActivity($self) if $old; $val->add_doActivity($self) if $val; } $self; }
sub count_state_doActivity ($) { my ($self) = @_; my $x = $self->{'state_doActivity'}; defined $x ? 1 : 0; }
################################################################# # AssociationEnd entry <---> state_entry # type = UMMF::UML_1_5::Behavioral_Elements::State_Machines::State # multiplicity = 0..1 # ordering =
sub state_entry ($) { my ($self) = @_; $self->{'state_entry'}; }
sub set_state_entry ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'state_entry'}) ne $val ) { # Recursion lock if ( defined $val ) { $self->__use('UMMF::UML_1_5::Behavioral_Elements::State_Machines::State')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.state_entry") } # Recursion lock $self->{'state_entry'} = $val ; # Remove and add associations with other ends. $old->remove_entry($self) if $old; $val->add_entry($self) if $val; } $self; }
sub add_state_entry ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'state_entry'}) ne $val ) { # Recursion lock $self->__use('UMMF::UML_1_5::Behavioral_Elements::State_Machines::State')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.state_entry"); # confess("UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure::state_entry: too many") # if defined $self->{'state_entry'}; # Recursion lock $self->{'state_entry'} = $val ; # Remove and add associations with other ends. $old->remove_entry($self) if $old; $val->add_entry($self) if $val; } $self; }
sub remove_state_entry ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'state_entry'}) eq $val ) { # Recursion lock $val = $self->{'state_entry'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_entry($self) if $old; $val->add_entry($self) if $val; } }
sub clear_state_entry ($@) { my ($self) = @_; my $old; if ( defined ($old = $self->{'state_entry'}) ) { # Recursion lock my $val = $self->{'state_entry'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_entry($self) if $old; $val->add_entry($self) if $val; } $self; }
sub count_state_entry ($) { my ($self) = @_; my $x = $self->{'state_entry'}; defined $x ? 1 : 0; }
################################################################# # AssociationEnd exit <---> state_exit # type = UMMF::UML_1_5::Behavioral_Elements::State_Machines::State # multiplicity = 0..1 # ordering =
sub state_exit ($) { my ($self) = @_; $self->{'state_exit'}; }
sub set_state_exit ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'state_exit'}) ne $val ) { # Recursion lock if ( defined $val ) { $self->__use('UMMF::UML_1_5::Behavioral_Elements::State_Machines::State')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.state_exit") } # Recursion lock $self->{'state_exit'} = $val ; # Remove and add associations with other ends. $old->remove_exit($self) if $old; $val->add_exit($self) if $val; } $self; }
sub add_state_exit ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'state_exit'}) ne $val ) { # Recursion lock $self->__use('UMMF::UML_1_5::Behavioral_Elements::State_Machines::State')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.state_exit"); # confess("UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure::state_exit: too many") # if defined $self->{'state_exit'}; # Recursion lock $self->{'state_exit'} = $val ; # Remove and add associations with other ends. $old->remove_exit($self) if $old; $val->add_exit($self) if $val; } $self; }
sub remove_state_exit ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'state_exit'}) eq $val ) { # Recursion lock $val = $self->{'state_exit'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_exit($self) if $old; $val->add_exit($self) if $val; } }
sub clear_state_exit ($@) { my ($self) = @_; my $old; if ( defined ($old = $self->{'state_exit'}) ) { # Recursion lock my $val = $self->{'state_exit'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_exit($self) if $old; $val->add_exit($self) if $val; } $self; }
sub count_state_exit ($) { my ($self) = @_; my $x = $self->{'state_exit'}; defined $x ? 1 : 0; }
################################################################# # AssociationEnd dispatchAction <---> stimulus # type = UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus # multiplicity = 0..* # ordering =
sub stimulus ($) { my ($self) = @_; my $x = $self->{'stimulus'}; # confess("Container for stimulus $x is not a blessed ref: " . Data::Dumper->new([ $self ], [qw($self)])->Maxdepth(2)->Dump()) if $x && ref($x) !~ /::/; wantarray ? ($x ? $x->members() : ()) : [ $x ? $x->members() : () ]; }
sub set_stimulus ($@) { my ($self, @val) = @_; $self->clear_stimulus; $self->add_stimulus(@val); }
sub add_stimulus ($@) { my ($self, @val) = @_; my $x = $self->{'stimulus'} ||= Set::Object->new(); my $old; # Place holder for other MACRO. for my $val ( @val ) { # Recursion lock next if $x->includes($val); $self->__use('UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.stimulus"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_dispatchAction($self) if $old; $val->add_dispatchAction($self) if $val; } $self; }
sub remove_stimulus ($@) { my ($self, @val) = @_; my $x = $self->{'stimulus'} ||= Set::Object->new(); for my $old ( @val ) { # Recursion lock next unless $x->includes($old); my $val = $old; $self->__use('UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Stimulus')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.stimulus"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_dispatchAction($self) if $old; $val->add_dispatchAction($self) if $val; ; } $self; }
sub clear_stimulus ($) { my ($self) = @_; my $x = $self->{'stimulus'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'stimulus'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_dispatchAction($self) if $old; $val->add_dispatchAction($self) if $val; ; } $self; }
sub count_stimulus ($) { my ($self) = @_; my $x = $self->{'stimulus'}; defined $x ? $x->size : 0; }
################################################################# # AssociationEnd effect <---> transition # type = UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition # multiplicity = 0..1 # ordering =
sub transition ($) { my ($self) = @_; $self->{'transition'}; }
sub set_transition ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'transition'}) ne $val ) { # Recursion lock if ( defined $val ) { $self->__use('UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.transition") } # Recursion lock $self->{'transition'} = $val ; # Remove and add associations with other ends. $old->remove_effect($self) if $old; $val->add_effect($self) if $val; } $self; }
sub add_transition ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'transition'}) ne $val ) { # Recursion lock $self->__use('UMMF::UML_1_5::Behavioral_Elements::State_Machines::Transition')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure.transition"); # confess("UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::Procedure::transition: too many") # if defined $self->{'transition'}; # Recursion lock $self->{'transition'} = $val ; # Remove and add associations with other ends. $old->remove_effect($self) if $old; $val->add_effect($self) if $val; } $self; }
sub remove_transition ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'transition'}) eq $val ) { # Recursion lock $val = $self->{'transition'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_effect($self) if $old; $val->add_effect($self) if $val; } }
sub clear_transition ($@) { my ($self) = @_; my $old; if ( defined ($old = $self->{'transition'}) ) { # Recursion lock my $val = $self->{'transition'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_effect($self) if $old; $val->add_effect($self) if $val; } $self; }
sub count_transition ($) { my ($self) = @_; my $x = $self->{'transition'}; defined $x ? 1 : 0; } # End of Class Procedure
############################################################################ 1; # is true! ############################################################################ ### Keep these comments at end of file: kstephens@users.sourceforge.net 2003/04/06 ### ### Local Variables: ### ### mode:perl ### ### perl-indent-level:2 ### ### perl-continued-statement-offset:0 ### ### perl-brace-offset:0 ### ### perl-label-offset:0 ### ### End: ###