| UMMF documentation | Contained in the UMMF distribution. |
base : THIS 1 <---> extend : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend 0..*extension : THIS 1 <---> extended : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend 0..*useCase : THIS 1 <---> extensionPoint : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint 0..*base : THIS 1 <---> include : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include 0..*addition : THIS 1 <---> include_addition : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include 0..*__validate_type__typecheckisaUseCaseisaBehavioral_Elements__Use_Cases__UseCase__model_name __isAbstract__tangram_schema___initialize__initialize__createextendset_extendadd_extendremove_extendclear_extendcount_extendextendedset_extendedadd_extendedremove_extendedclear_extendedcount_extendedextensionPointset_extensionPointadd_extensionPointremove_extensionPointclear_extensionPointcount_extensionPointincludeset_includeadd_includeremove_includeclear_includecount_includeinclude_additionset_include_additionadd_include_additionremove_include_additionclear_include_additioncount_include_addition
UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase --
1.5
NO ATTRIBUTES
base : THIS 1 <---> extend : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend 0..*0..*changeableinstancenoneprivateSet::Objectextension : THIS 1 <---> extended : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend 0..*0..*changeableinstancenonepublicSet::ObjectuseCase : THIS 1 <---> extensionPoint : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint 0..*0..*changeableinstancenonepublicSet::Objectbase : THIS 1 <---> include : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include 0..*0..*changeableinstancenonepublicSet::Objectaddition : THIS 1 <---> include_addition : UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include 0..*0..*changeableinstancenoneprivateSet::Object__validate_typeUMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase->__validate_type($value);
Returns true if $value is a valid representation of UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.
__typecheckUMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase->__typecheck($value, $msg);
Calls confess() with $msg if <UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase-__validate_type($value)>> is false.
isaUseCaseReturns true if receiver is a UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase. Other receivers will return false.
isaBehavioral_Elements__Use_Cases__UseCaseReturns true if receiver is a UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.
Other receivers will return false.
This is the fully qualified version of the isaUseCase method.
__model_name my $name = $obj_or_package->__model_name;
Returns the UML Model name ('Behavioral_Elements::Use_Cases::UseCase') 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.
extendmy @val = $obj->extend; my $ary_val = $obj->extend;
Returns the AssociationEnd extend values of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
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_extend$obj->set_extend(@val);
Sets the AssociationEnd extend value.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
Returns $obj.
add_extend$obj->add_extend(@val);
Adds AssociationEnd extend values.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
Returns $obj.
remove_extend$obj->remove_extend(@val);
Removes the AssociationEnd extend values @val.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
Returns $obj.
clear_extend$obj->clear_extend;
Clears the AssociationEnd extend links to UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
Returns $obj.
count_extend$obj->count_extend;
Returns the number of elements associated with extend.
extendedmy @val = $obj->extended; my $ary_val = $obj->extended;
Returns the AssociationEnd extended values of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
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_extended$obj->set_extended(@val);
Sets the AssociationEnd extended value.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
Returns $obj.
add_extended$obj->add_extended(@val);
Adds AssociationEnd extended values.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
Returns $obj.
remove_extended$obj->remove_extended(@val);
Removes the AssociationEnd extended values @val.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
Returns $obj.
clear_extended$obj->clear_extended;
Clears the AssociationEnd extended links to UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend.
Returns $obj.
count_extended$obj->count_extended;
Returns the number of elements associated with extended.
extensionPointmy @val = $obj->extensionPoint; my $ary_val = $obj->extensionPoint;
Returns the AssociationEnd extensionPoint values of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint.
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_extensionPoint$obj->set_extensionPoint(@val);
Sets the AssociationEnd extensionPoint value.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint.
Returns $obj.
add_extensionPoint$obj->add_extensionPoint(@val);
Adds AssociationEnd extensionPoint values.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint.
Returns $obj.
remove_extensionPoint$obj->remove_extensionPoint(@val);
Removes the AssociationEnd extensionPoint values @val.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint.
Returns $obj.
clear_extensionPoint$obj->clear_extensionPoint;
Clears the AssociationEnd extensionPoint links to UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint.
Returns $obj.
count_extensionPoint$obj->count_extensionPoint;
Returns the number of elements associated with extensionPoint.
includemy @val = $obj->include; my $ary_val = $obj->include;
Returns the AssociationEnd include values of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
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_include$obj->set_include(@val);
Sets the AssociationEnd include value.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
Returns $obj.
add_include$obj->add_include(@val);
Adds AssociationEnd include values.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
Returns $obj.
remove_include$obj->remove_include(@val);
Removes the AssociationEnd include values @val.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
Returns $obj.
clear_include$obj->clear_include;
Clears the AssociationEnd include links to UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
Returns $obj.
count_include$obj->count_include;
Returns the number of elements associated with include.
include_additionmy @val = $obj->include_addition; my $ary_val = $obj->include_addition;
Returns the AssociationEnd include_addition values of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
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_include_addition$obj->set_include_addition(@val);
Sets the AssociationEnd include_addition value.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
Returns $obj.
add_include_addition$obj->add_include_addition(@val);
Adds AssociationEnd include_addition values.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
Returns $obj.
remove_include_addition$obj->remove_include_addition(@val);
Removes the AssociationEnd include_addition values @val.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
Returns $obj.
clear_include_addition$obj->clear_include_addition;
Clears the AssociationEnd include_addition links to UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include.
Returns $obj.
count_include_addition$obj->count_include_addition;
Returns the number of elements associated with include_addition.
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::Use_Cases::UseCase; #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::Classifier ); ################################################################# # 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::Use_Cases::UseCase') ; }
sub __typecheck { my ($self, $x, $msg) = @_; confess("typecheck: $msg: type '" . 'UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase' . ": value '$x'") unless __validate_type($self, $x); }
sub isaUseCase { 1 }
sub isaBehavioral_Elements__Use_Cases__UseCase { 1 } ################################################################# # Introspection #
sub __model_name { 'Behavioral_Elements::Use_Cases::UseCase' }
sub __isAbstract { 0; } my $__tangram_schema;
sub __tangram_schema { my ($self) = @_; $__tangram_schema ||= { 'classes' => [ 'UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase' => { 'table' => 'Behavioral_Elements__Use_Cases__UseCase', 'abstract' => 0, 'slots' => { # Attributes # Associations 'extend' => { 'type_impl' => 'iset', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend', 'table' => 'Behavioral_Elements__Use_Cases__UseCase__extend', 'coll' => 'base', } , 'extended' => { 'type_impl' => 'iset', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend', 'table' => 'Behavioral_Elements__Use_Cases__UseCase__extended', 'coll' => 'extension', } , 'extensionPoint' => { 'type_impl' => 'iset', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint', 'table' => 'Behavioral_Elements__Use_Cases__UseCase__extensionPoint', 'coll' => 'useCase', } , 'include' => { 'type_impl' => 'iset', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include', 'table' => 'Behavioral_Elements__Use_Cases__UseCase__include', 'coll' => 'base', } , 'include_addition' => { 'type_impl' => 'iset', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include', 'table' => 'Behavioral_Elements__Use_Cases__UseCase__include_addition', 'coll' => 'addition', } , }, 'bases' => [ 'UMMF::UML_1_5::Foundation::Core::Classifier', ], '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 # Associations # AssociationEnd # base 1 # <--> # extend 0..* UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend. if ( defined $self->{'extend'} ) { my $x = $self->{'extend'}; $self->{'extend'} = Set::Object->new(); $self->set_extend(@$x); } # AssociationEnd # extension 1 # <--> # extended 0..* UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend. if ( defined $self->{'extended'} ) { my $x = $self->{'extended'}; $self->{'extended'} = Set::Object->new(); $self->set_extended(@$x); } # AssociationEnd # useCase 1 # <--> # extensionPoint 0..* UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint. if ( defined $self->{'extensionPoint'} ) { my $x = $self->{'extensionPoint'}; $self->{'extensionPoint'} = Set::Object->new(); $self->set_extensionPoint(@$x); } # AssociationEnd # base 1 # <--> # include 0..* UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include. if ( defined $self->{'include'} ) { my $x = $self->{'include'}; $self->{'include'} = Set::Object->new(); $self->set_include(@$x); } # AssociationEnd # addition 1 # <--> # include_addition 0..* UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include. if ( defined $self->{'include_addition'} ) { my $x = $self->{'include_addition'}; $self->{'include_addition'} = Set::Object->new(); $self->set_include_addition(@$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::Namespace'); $self->__use('UMMF::UML_1_5::Foundation::Core::Element'); $self->__use('UMMF::UML_1_5::Foundation::Core::ModelElement'); $self->__use('UMMF::UML_1_5::Foundation::Core::GeneralizableElement'); $self->__use('UMMF::UML_1_5::Foundation::Core::Classifier'); } $self->UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase::___initialize; $self->UMMF::UML_1_5::Foundation::Core::Namespace::___initialize; $self->UMMF::UML_1_5::Foundation::Core::Element::___initialize; $self->UMMF::UML_1_5::Foundation::Core::ModelElement::___initialize; $self->UMMF::UML_1_5::Foundation::Core::GeneralizableElement::___initialize; $self->UMMF::UML_1_5::Foundation::Core::Classifier::___initialize; $self; }
sub __create { my ($self, @args) = @_; # $DB::single = 1; $self->UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase::___create(@args); $self->UMMF::UML_1_5::Foundation::Core::Namespace::___create(); $self->UMMF::UML_1_5::Foundation::Core::Element::___create(); $self->UMMF::UML_1_5::Foundation::Core::ModelElement::___create(); $self->UMMF::UML_1_5::Foundation::Core::GeneralizableElement::___create(); $self->UMMF::UML_1_5::Foundation::Core::Classifier::___create(); $self; } ################################################################# # Attributes # ################################################################# # Association #
################################################################# # AssociationEnd base <---> extend # type = UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend # multiplicity = 0..* # ordering =
sub extend ($) { my ($self) = @_; my $x = $self->{'extend'}; # confess("Container for extend $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_extend ($@) { my ($self, @val) = @_; $self->clear_extend; $self->add_extend(@val); }
sub add_extend ($@) { my ($self, @val) = @_; my $x = $self->{'extend'} ||= 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::Use_Cases::Extend')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.extend"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_base($self) if $old; $val->add_base($self) if $val; } $self; }
sub remove_extend ($@) { my ($self, @val) = @_; my $x = $self->{'extend'} ||= 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::Use_Cases::Extend')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.extend"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_base($self) if $old; $val->add_base($self) if $val; ; } $self; }
sub clear_extend ($) { my ($self) = @_; my $x = $self->{'extend'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'extend'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_base($self) if $old; $val->add_base($self) if $val; ; } $self; }
sub count_extend ($) { my ($self) = @_; my $x = $self->{'extend'}; defined $x ? $x->size : 0; }
################################################################# # AssociationEnd extension <---> extended # type = UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Extend # multiplicity = 0..* # ordering =
sub extended ($) { my ($self) = @_; my $x = $self->{'extended'}; # confess("Container for extended $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_extended ($@) { my ($self, @val) = @_; $self->clear_extended; $self->add_extended(@val); }
sub add_extended ($@) { my ($self, @val) = @_; my $x = $self->{'extended'} ||= 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::Use_Cases::Extend')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.extended"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_extension($self) if $old; $val->add_extension($self) if $val; } $self; }
sub remove_extended ($@) { my ($self, @val) = @_; my $x = $self->{'extended'} ||= 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::Use_Cases::Extend')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.extended"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_extension($self) if $old; $val->add_extension($self) if $val; ; } $self; }
sub clear_extended ($) { my ($self) = @_; my $x = $self->{'extended'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'extended'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_extension($self) if $old; $val->add_extension($self) if $val; ; } $self; }
sub count_extended ($) { my ($self) = @_; my $x = $self->{'extended'}; defined $x ? $x->size : 0; }
################################################################# # AssociationEnd useCase <---> extensionPoint # type = UMMF::UML_1_5::Behavioral_Elements::Use_Cases::ExtensionPoint # multiplicity = 0..* # ordering =
sub extensionPoint ($) { my ($self) = @_; my $x = $self->{'extensionPoint'}; # confess("Container for extensionPoint $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_extensionPoint ($@) { my ($self, @val) = @_; $self->clear_extensionPoint; $self->add_extensionPoint(@val); }
sub add_extensionPoint ($@) { my ($self, @val) = @_; my $x = $self->{'extensionPoint'} ||= 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::Use_Cases::ExtensionPoint')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.extensionPoint"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_useCase($self) if $old; $val->add_useCase($self) if $val; } $self; }
sub remove_extensionPoint ($@) { my ($self, @val) = @_; my $x = $self->{'extensionPoint'} ||= 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::Use_Cases::ExtensionPoint')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.extensionPoint"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_useCase($self) if $old; $val->add_useCase($self) if $val; ; } $self; }
sub clear_extensionPoint ($) { my ($self) = @_; my $x = $self->{'extensionPoint'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'extensionPoint'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_useCase($self) if $old; $val->add_useCase($self) if $val; ; } $self; }
sub count_extensionPoint ($) { my ($self) = @_; my $x = $self->{'extensionPoint'}; defined $x ? $x->size : 0; }
################################################################# # AssociationEnd base <---> include # type = UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include # multiplicity = 0..* # ordering =
sub include ($) { my ($self) = @_; my $x = $self->{'include'}; # confess("Container for include $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_include ($@) { my ($self, @val) = @_; $self->clear_include; $self->add_include(@val); }
sub add_include ($@) { my ($self, @val) = @_; my $x = $self->{'include'} ||= 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::Use_Cases::Include')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.include"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_base($self) if $old; $val->add_base($self) if $val; } $self; }
sub remove_include ($@) { my ($self, @val) = @_; my $x = $self->{'include'} ||= 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::Use_Cases::Include')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.include"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_base($self) if $old; $val->add_base($self) if $val; ; } $self; }
sub clear_include ($) { my ($self) = @_; my $x = $self->{'include'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'include'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_base($self) if $old; $val->add_base($self) if $val; ; } $self; }
sub count_include ($) { my ($self) = @_; my $x = $self->{'include'}; defined $x ? $x->size : 0; }
################################################################# # AssociationEnd addition <---> include_addition # type = UMMF::UML_1_5::Behavioral_Elements::Use_Cases::Include # multiplicity = 0..* # ordering =
sub include_addition ($) { my ($self) = @_; my $x = $self->{'include_addition'}; # confess("Container for include_addition $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_include_addition ($@) { my ($self, @val) = @_; $self->clear_include_addition; $self->add_include_addition(@val); }
sub add_include_addition ($@) { my ($self, @val) = @_; my $x = $self->{'include_addition'} ||= 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::Use_Cases::Include')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.include_addition"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_addition($self) if $old; $val->add_addition($self) if $val; } $self; }
sub remove_include_addition ($@) { my ($self, @val) = @_; my $x = $self->{'include_addition'} ||= 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::Use_Cases::Include')->__typecheck($val, "UMMF::UML_1_5::Behavioral_Elements::Use_Cases::UseCase.include_addition"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_addition($self) if $old; $val->add_addition($self) if $val; ; } $self; }
sub clear_include_addition ($) { my ($self) = @_; my $x = $self->{'include_addition'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'include_addition'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_addition($self) if $old; $val->add_addition($self) if $val; ; } $self; }
sub count_include_addition ($) { my ($self) = @_; my $x = $self->{'include_addition'}; defined $x ? $x->size : 0; } # End of Class UseCase
############################################################################ 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: ###