| UMMF documentation | Contained in the UMMF distribution. |
isNavigable : UMMF::UML_1_5::Foundation::Data_Types::Boolean ordering : UMMF::UML_1_5::Foundation::Data_Types::OrderingKind aggregation : UMMF::UML_1_5::Foundation::Data_Types::AggregationKind targetScope : UMMF::UML_1_5::Foundation::Data_Types::ScopeKind multiplicity : UMMF::UML_1_5::Foundation::Data_Types::Multiplicity changeability : UMMF::UML_1_5::Foundation::Data_Types::ChangeableKind visibility : UMMF::UML_1_5::Foundation::Data_Types::VisibilityKind connection : THIS 2..* <---> _association : UMMF::UML_1_5::Foundation::Core::Association 1end : THIS 1 <---- : UMMF::UML_1_5::Behavioral_Elements::Actions::Read_Write_Actions::Association_Actions::LinkEndData 0..*0..*changeableinstance0noneprivateSet::Object
end : THIS 1 <---- : UMMF::UML_1_5::Behavioral_Elements::Actions::Read_Write_Actions::Association_Actions::ReadLinkObjectEndAction 0..10..1changeableinstance0noneprivateSet::Object
associationEnd : THIS 1 <---> linkEnd : UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd 0..*navigationSource : THIS 1 <---- : UMMF::UML_1_5::OCL::Expressions::NavigationCallExp 1association : THIS 0..* <---> participant : UMMF::UML_1_5::Foundation::Core::Classifier 1associationEnd : THIS 0..1 <---> qualifier : UMMF::UML_1_5::Foundation::Core::Attribute 0..*referredAssociationEnd : THIS 1 <---- : UMMF::UML_1_5::OCL::Expressions::AssociationEndCallExp 0..*specifiedEnd : THIS 0..* <---> specification : UMMF::UML_1_5::Foundation::Core::Classifier 0..*__validate_type__typecheckisaAssociationEndisaFoundation__Core__AssociationEnd__model_name __isAbstract__tangram_schema___initialize__initialize__createisNavigableset_isNavigablecount_isNavigableorderingset_orderingcount_orderingaggregationset_aggregationcount_aggregationtargetScopeset_targetScopecount_targetScopemultiplicityset_multiplicitycount_multiplicitychangeabilityset_changeabilitycount_changeabilityvisibilityset_visibilitycount_visibility_associationset__associationadd__associationremove__associationclear__associationcount__associationlinkEndset_linkEndadd_linkEndremove_linkEndclear_linkEndcount_linkEndparticipantset_participantadd_participantremove_participantclear_participantcount_participantqualifierindex_qualifierindex_of_qualifierset_qualifierset_index_qualifieradd_qualifieradd_index_qualifierremove_qualifierclear_qualifiercount_qualifierspecificationset_specificationadd_specificationremove_specificationclear_specificationcount_specification
UMMF::UML_1_5::Foundation::Core::AssociationEnd --
1.5
isNavigable : UMMF::UML_1_5::Foundation::Data_Types::Boolean ordering : UMMF::UML_1_5::Foundation::Data_Types::OrderingKind private1changeableinstanceunordered<"unordered">Set::Objectaggregation : UMMF::UML_1_5::Foundation::Data_Types::AggregationKind private1changeableinstanceunordered<"none">Set::ObjecttargetScope : UMMF::UML_1_5::Foundation::Data_Types::ScopeKind private1changeableinstanceunordered<"instance">Set::Objectmultiplicity : UMMF::UML_1_5::Foundation::Data_Types::Multiplicity private1changeableinstanceunorderedSet::Objectchangeability : UMMF::UML_1_5::Foundation::Data_Types::ChangeableKind private1changeableinstanceunordered<"changeable">Set::Objectvisibility : UMMF::UML_1_5::Foundation::Data_Types::VisibilityKind private1changeableinstanceunordered<"public">Set::Objectconnection : THIS 2..* <---> _association : UMMF::UML_1_5::Foundation::Core::Association 11changeableinstancecompositepublicSet::Objectend : THIS 1 <---- : UMMF::UML_1_5::Behavioral_Elements::Actions::Read_Write_Actions::Association_Actions::LinkEndData 0..*0..*changeableinstancenoneprivateSet::Objectend : THIS 1 <---- : UMMF::UML_1_5::Behavioral_Elements::Actions::Read_Write_Actions::Association_Actions::ReadLinkObjectEndAction 0..10..1changeableinstancenoneprivateSet::ObjectassociationEnd : THIS 1 <---> linkEnd : UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd 0..*0..*changeableinstancenoneprivateSet::ObjectnavigationSource : THIS 1 <---- : UMMF::UML_1_5::OCL::Expressions::NavigationCallExp 1association : THIS 0..* <---> participant : UMMF::UML_1_5::Foundation::Core::Classifier 11changeableinstancenonepublicSet::ObjectassociationEnd : THIS 0..1 <---> qualifier : UMMF::UML_1_5::Foundation::Core::Attribute 0..*0..*changeableinstanceorderednonepublicARRAYreferredAssociationEnd : THIS 1 <---- : UMMF::UML_1_5::OCL::Expressions::AssociationEndCallExp 0..*0..*changeableinstancenoneprivateSet::ObjectspecifiedEnd : THIS 0..* <---> specification : UMMF::UML_1_5::Foundation::Core::Classifier 0..*0..*changeableinstancenonepublicSet::Object__validate_typeUMMF::UML_1_5::Foundation::Core::AssociationEnd->__validate_type($value);
Returns true if $value is a valid representation of UMMF::UML_1_5::Foundation::Core::AssociationEnd.
__typecheckUMMF::UML_1_5::Foundation::Core::AssociationEnd->__typecheck($value, $msg);
Calls confess() with $msg if <UMMF::UML_1_5::Foundation::Core::AssociationEnd-__validate_type($value)>> is false.
isaAssociationEndReturns true if receiver is a UMMF::UML_1_5::Foundation::Core::AssociationEnd. Other receivers will return false.
isaFoundation__Core__AssociationEndReturns true if receiver is a UMMF::UML_1_5::Foundation::Core::AssociationEnd.
Other receivers will return false.
This is the fully qualified version of the isaAssociationEnd method.
__model_name my $name = $obj_or_package->__model_name;
Returns the UML Model name ('Foundation::Core::AssociationEnd') 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.
isNavigableset_isNavigablecount_isNavigableorderingmy $val = $obj->ordering;
Returns the UMMF::UML_1_5::Foundation::Data_Types::OrderingKind value of Attribute ordering.
set_ordering$obj->set_ordering($val);
Sets the value of Attribute ordering.
$val must be of type UMMF::UML_1_5::Foundation::Data_Types::OrderingKind or undef.
Returns $obj.
count_ordering$obj->count_ordering;
Returns the number of elements (0 or 1) in ordering.
aggregationmy $val = $obj->aggregation;
Returns the UMMF::UML_1_5::Foundation::Data_Types::AggregationKind value of Attribute aggregation.
set_aggregation$obj->set_aggregation($val);
Sets the value of Attribute aggregation.
$val must be of type UMMF::UML_1_5::Foundation::Data_Types::AggregationKind or undef.
Returns $obj.
count_aggregation$obj->count_aggregation;
Returns the number of elements (0 or 1) in aggregation.
targetScopemy $val = $obj->targetScope;
Returns the UMMF::UML_1_5::Foundation::Data_Types::ScopeKind value of Attribute targetScope.
set_targetScope$obj->set_targetScope($val);
Sets the value of Attribute targetScope.
$val must be of type UMMF::UML_1_5::Foundation::Data_Types::ScopeKind or undef.
Returns $obj.
count_targetScope$obj->count_targetScope;
Returns the number of elements (0 or 1) in targetScope.
multiplicitymy $val = $obj->multiplicity;
Returns the UMMF::UML_1_5::Foundation::Data_Types::Multiplicity value of Attribute multiplicity.
set_multiplicity$obj->set_multiplicity($val);
Sets the value of Attribute multiplicity.
$val must be of type UMMF::UML_1_5::Foundation::Data_Types::Multiplicity or undef.
Returns $obj.
count_multiplicity$obj->count_multiplicity;
Returns the number of elements (0 or 1) in multiplicity.
changeabilitymy $val = $obj->changeability;
Returns the UMMF::UML_1_5::Foundation::Data_Types::ChangeableKind value of Attribute changeability.
set_changeability$obj->set_changeability($val);
Sets the value of Attribute changeability.
$val must be of type UMMF::UML_1_5::Foundation::Data_Types::ChangeableKind or undef.
Returns $obj.
count_changeability$obj->count_changeability;
Returns the number of elements (0 or 1) in changeability.
visibilitymy $val = $obj->visibility;
Returns the UMMF::UML_1_5::Foundation::Data_Types::VisibilityKind value of Attribute visibility.
set_visibility$obj->set_visibility($val);
Sets the value of Attribute visibility.
$val must be of type UMMF::UML_1_5::Foundation::Data_Types::VisibilityKind or undef.
Returns $obj.
count_visibility$obj->count_visibility;
Returns the number of elements (0 or 1) in visibility.
_associationmy $val = $obj->_association;
Returns the AssociationEnd _association value of type UMMF::UML_1_5::Foundation::Core::Association.
set__association$obj->set__association($val);
Sets the AssociationEnd _association value.
$val must of type UMMF::UML_1_5::Foundation::Core::Association.
Returns $obj.
add__association$obj->add__association($val);
Adds the AssociationEnd _association value.
$val must of type UMMF::UML_1_5::Foundation::Core::Association.
Throws exception if a value already exists.
Returns $obj.
remove__association$obj->remove__association($val);
Removes the AssociationEnd _association value $val.
Returns $obj.
clear__association$obj->clear__association;
Clears the AssociationEnd _association links to UMMF::UML_1_5::Foundation::Core::Association.
Returns $obj.
count__association$obj->count__association;
Returns the number of elements of type UMMF::UML_1_5::Foundation::Core::Association associated with _association.
linkEndmy @val = $obj->linkEnd; my $ary_val = $obj->linkEnd;
Returns the AssociationEnd linkEnd values of type UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd.
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_linkEnd$obj->set_linkEnd(@val);
Sets the AssociationEnd linkEnd value.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd.
Returns $obj.
add_linkEnd$obj->add_linkEnd(@val);
Adds AssociationEnd linkEnd values.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd.
Returns $obj.
remove_linkEnd$obj->remove_linkEnd(@val);
Removes the AssociationEnd linkEnd values @val.
Elements of @val must of type UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd.
Returns $obj.
clear_linkEnd$obj->clear_linkEnd;
Clears the AssociationEnd linkEnd links to UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd.
Returns $obj.
count_linkEnd$obj->count_linkEnd;
Returns the number of elements associated with linkEnd.
participantmy $val = $obj->participant;
Returns the AssociationEnd participant value of type UMMF::UML_1_5::Foundation::Core::Classifier.
set_participant$obj->set_participant($val);
Sets the AssociationEnd participant value.
$val must of type UMMF::UML_1_5::Foundation::Core::Classifier.
Returns $obj.
add_participant$obj->add_participant($val);
Adds the AssociationEnd participant value.
$val must of type UMMF::UML_1_5::Foundation::Core::Classifier.
Throws exception if a value already exists.
Returns $obj.
remove_participant$obj->remove_participant($val);
Removes the AssociationEnd participant value $val.
Returns $obj.
clear_participant$obj->clear_participant;
Clears the AssociationEnd participant links to UMMF::UML_1_5::Foundation::Core::Classifier.
Returns $obj.
count_participant$obj->count_participant;
Returns the number of elements of type UMMF::UML_1_5::Foundation::Core::Classifier associated with participant.
qualifiermy @val = $obj->qualifier; my $ary_val = $obj->qualifier;
Returns the AssociationEnd qualifier values of type UMMF::UML_1_5::Foundation::Core::Attribute.
In array context, returns all the objects in the Association.
In scalar context, returns an array ref of all the objects in the Association.
index_qualifiermy $x = $obj->index_qualifier($i); my @x = $obj->index_qualifier($i, $count);
In scalar context, returns the value of AssociationEnd qualifier at index $i.
In array context, returns the values between index $i and $i + $count - 1, inclusive.
index_of_qualifiermy $index = $obj->index_of_qualifier($val);
Returns the index of $val in AssociationEnd qualifier.
Return undef if $val is not in qualifier.
set_qualifier$obj->set_qualifier(@val);
Sets the AssociationEnd qualifier value.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Attribute.
Returns $obj.
set_index_qualifier$obj->set_index_qualifier($i, $val);
Sets the value of AssociationEnd qualifier at index $i.
Returns self.
add_qualifier$obj->add_qualifier(@val);
Adds AssociationEnd qualifier values.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Attribute.
Returns $obj.
add_index_qualifier$obj->add_index_qualifier($i, @val);
Adds AssociationEnd qualifier values at index $i.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Attribute.
Returns $obj.
remove_qualifier$obj->remove_qualifier(@val);
Removes the AssociationEnd qualifier values @val.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Attribute.
Returns $obj.
clear_qualifier$obj->clear_qualifier;
Clears the AssociationEnd qualifier links to UMMF::UML_1_5::Foundation::Core::Attribute.
Returns $obj.
count_qualifier$obj->count_qualifier;
Returns the number of elements associated with qualifier.
specificationmy @val = $obj->specification; my $ary_val = $obj->specification;
Returns the AssociationEnd specification values of type UMMF::UML_1_5::Foundation::Core::Classifier.
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_specification$obj->set_specification(@val);
Sets the AssociationEnd specification value.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Classifier.
Returns $obj.
add_specification$obj->add_specification(@val);
Adds AssociationEnd specification values.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Classifier.
Returns $obj.
remove_specification$obj->remove_specification(@val);
Removes the AssociationEnd specification values @val.
Elements of @val must of type UMMF::UML_1_5::Foundation::Core::Classifier.
Returns $obj.
clear_specification$obj->clear_specification;
Clears the AssociationEnd specification links to UMMF::UML_1_5::Foundation::Core::Classifier.
Returns $obj.
count_specification$obj->count_specification;
Returns the number of elements associated with specification.
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::Foundation::Core::AssociationEnd; #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::Foundation::Core::AssociationEnd') ; }
sub __typecheck { my ($self, $x, $msg) = @_; confess("typecheck: $msg: type '" . 'UMMF::UML_1_5::Foundation::Core::AssociationEnd' . ": value '$x'") unless __validate_type($self, $x); }
sub isaAssociationEnd { 1 }
sub isaFoundation__Core__AssociationEnd { 1 } ################################################################# # Introspection #
sub __model_name { 'Foundation::Core::AssociationEnd' }
sub __isAbstract { 0; } my $__tangram_schema;
sub __tangram_schema { my ($self) = @_; $__tangram_schema ||= { 'classes' => [ 'UMMF::UML_1_5::Foundation::Core::AssociationEnd' => { 'table' => 'Foundation__Core__AssociationEnd', 'abstract' => 0, 'slots' => { # Attributes 'isNavigable' => { 'type_impl' => 'string', 'col' => 'isNavigable', } , 'ordering' => { 'type_impl' => 'string', 'col' => 'ordering', } , 'aggregation' => { 'type_impl' => 'string', 'col' => 'aggregation', } , 'targetScope' => { 'type_impl' => 'string', 'col' => 'targetScope', } , 'multiplicity' => { 'type_impl' => 'ref', 'class' => 'UMMF::UML_1_5::Foundation::Data_Types::Multiplicity', 'col' => 'multiplicity', } , 'changeability' => { 'type_impl' => 'string', 'col' => 'changeability', } , 'visibility' => { 'type_impl' => 'string', 'col' => 'visibility', } , # Associations '_association' => { 'type_impl' => 'ref', 'class' => 'UMMF::UML_1_5::Foundation::Core::Association', 'col' => '_association', } , 'linkEnd' => { 'type_impl' => 'iset', 'class' => 'UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd', 'table' => 'Foundation__Core__AssociationEnd__linkEnd', 'coll' => 'associationEnd', } , 'participant' => { 'type_impl' => 'ref', 'class' => 'UMMF::UML_1_5::Foundation::Core::Classifier', 'col' => 'participant', } , 'qualifier' => { 'type_impl' => 'iarray', 'class' => 'UMMF::UML_1_5::Foundation::Core::Attribute', 'table' => 'Foundation__Core__AssociationEnd__qualifier', 'coll' => 'associationEnd', 'slot' => 'associationEnd_i', 'aggreg' => '1', } , 'specification' => { 'type_impl' => 'set', 'class' => 'UMMF::UML_1_5::Foundation::Core::Classifier', 'table' => 'Foundation__Core__SpecifiedEnd_Specification', 'item' => 'specification', 'coll' => 'specifiedEnd', } , }, '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 isNavigable if ( exists $self->{'isNavigable'} ) { my $x = $self->{'isNavigable'}; $self->{'isNavigable'} = undef; $self->set_isNavigable($x); } else { $self->{'isNavigable'} = "true"; } # Attribute ordering if ( exists $self->{'ordering'} ) { my $x = $self->{'ordering'}; $self->{'ordering'} = undef; $self->set_ordering($x); } else { $self->{'ordering'} = "unordered"; } # Attribute aggregation if ( exists $self->{'aggregation'} ) { my $x = $self->{'aggregation'}; $self->{'aggregation'} = undef; $self->set_aggregation($x); } else { $self->{'aggregation'} = "none"; } # Attribute targetScope if ( exists $self->{'targetScope'} ) { my $x = $self->{'targetScope'}; $self->{'targetScope'} = undef; $self->set_targetScope($x); } else { $self->{'targetScope'} = "instance"; } # Attribute multiplicity if ( exists $self->{'multiplicity'} ) { my $x = $self->{'multiplicity'}; $self->{'multiplicity'} = undef; $self->set_multiplicity($x); } else { } # Attribute changeability if ( exists $self->{'changeability'} ) { my $x = $self->{'changeability'}; $self->{'changeability'} = undef; $self->set_changeability($x); } else { $self->{'changeability'} = "changeable"; } # Attribute visibility if ( exists $self->{'visibility'} ) { my $x = $self->{'visibility'}; $self->{'visibility'} = undef; $self->set_visibility($x); } else { $self->{'visibility'} = "public"; } # Associations # AssociationEnd # connection 2..* # <--> # _association 1 UMMF::UML_1_5::Foundation::Core::Association. if ( defined $self->{'_association'} ) { my $x = $self->{'_association'}; $self->{'_association'} = undef; $self->set__association($x); } # AssociationEnd # associationEnd 1 # <--> # linkEnd 0..* UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd. if ( defined $self->{'linkEnd'} ) { my $x = $self->{'linkEnd'}; $self->{'linkEnd'} = Set::Object->new(); $self->set_linkEnd(@$x); } # AssociationEnd # association 0..* # <--> # participant 1 UMMF::UML_1_5::Foundation::Core::Classifier. if ( defined $self->{'participant'} ) { my $x = $self->{'participant'}; $self->{'participant'} = undef; $self->set_participant($x); } # AssociationEnd # associationEnd 0..1 # <--> # qualifier 0..* UMMF::UML_1_5::Foundation::Core::Attribute. if ( defined $self->{'qualifier'} ) { my $x = $self->{'qualifier'}; $self->{'qualifier'} = [ ]; $self->set_qualifier(@$x); } # AssociationEnd # specifiedEnd 0..* # <--> # specification 0..* UMMF::UML_1_5::Foundation::Core::Classifier. if ( defined $self->{'specification'} ) { my $x = $self->{'specification'}; $self->{'specification'} = Set::Object->new(); $self->set_specification(@$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::Foundation::Core::AssociationEnd::___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::Foundation::Core::AssociationEnd::___create(@args); $self->UMMF::UML_1_5::Foundation::Core::Element::___create(); $self->UMMF::UML_1_5::Foundation::Core::ModelElement::___create(); $self; } ################################################################# # Attributes #
################################################################# # Attribute isNavigable # type = UMMF::UML_1_5::Foundation::Data_Types::Boolean # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue = "true"
sub isNavigable ($) { my ($self) = @_; ; my $val = $self->{'isNavigable'}; ; $val; }
sub set_isNavigable ($$) { my ($self, $val) = @_; ; if ( defined $val ) { ; } $self->{'isNavigable'} = $val ; ; $self; }
sub count_isNavigable ($) { my ($self) = @_; ; my $val = $self->{'isNavigable'}; ; defined $val ? 1 : 0; }
################################################################# # Attribute ordering # type = UMMF::UML_1_5::Foundation::Data_Types::OrderingKind # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue = "unordered"
sub ordering ($) { my ($self) = @_; ; my $val = $self->{'ordering'}; ; $val; }
sub set_ordering ($$) { my ($self, $val) = @_; ; if ( defined $val ) { $self->__use('UMMF::UML_1_5::Foundation::Data_Types::OrderingKind')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.ordering"); } $self->{'ordering'} = $val ; ; $self; }
sub count_ordering ($) { my ($self) = @_; ; my $val = $self->{'ordering'}; ; defined $val ? 1 : 0; }
################################################################# # Attribute aggregation # type = UMMF::UML_1_5::Foundation::Data_Types::AggregationKind # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue = "none"
sub aggregation ($) { my ($self) = @_; ; my $val = $self->{'aggregation'}; ; $val; }
sub set_aggregation ($$) { my ($self, $val) = @_; ; if ( defined $val ) { $self->__use('UMMF::UML_1_5::Foundation::Data_Types::AggregationKind')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.aggregation"); } $self->{'aggregation'} = $val ; ; $self; }
sub count_aggregation ($) { my ($self) = @_; ; my $val = $self->{'aggregation'}; ; defined $val ? 1 : 0; }
################################################################# # Attribute targetScope # type = UMMF::UML_1_5::Foundation::Data_Types::ScopeKind # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue = "instance"
sub targetScope ($) { my ($self) = @_; ; my $val = $self->{'targetScope'}; ; $val; }
sub set_targetScope ($$) { my ($self, $val) = @_; ; if ( defined $val ) { $self->__use('UMMF::UML_1_5::Foundation::Data_Types::ScopeKind')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.targetScope"); } $self->{'targetScope'} = $val ; ; $self; }
sub count_targetScope ($) { my ($self) = @_; ; my $val = $self->{'targetScope'}; ; defined $val ? 1 : 0; }
################################################################# # Attribute multiplicity # type = UMMF::UML_1_5::Foundation::Data_Types::Multiplicity # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue =
sub multiplicity ($) { my ($self) = @_; ; my $val = $self->{'multiplicity'}; ; $val; }
sub set_multiplicity ($$) { my ($self, $val) = @_; ; if ( defined $val ) { $self->__use('UMMF::UML_1_5::Foundation::Data_Types::Multiplicity')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.multiplicity"); } $self->{'multiplicity'} = $val ; ; $self; }
sub count_multiplicity ($) { my ($self) = @_; ; my $val = $self->{'multiplicity'}; ; defined $val ? 1 : 0; }
################################################################# # Attribute changeability # type = UMMF::UML_1_5::Foundation::Data_Types::ChangeableKind # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue = "changeable"
sub changeability ($) { my ($self) = @_; ; my $val = $self->{'changeability'}; ; $val; }
sub set_changeability ($$) { my ($self, $val) = @_; ; if ( defined $val ) { $self->__use('UMMF::UML_1_5::Foundation::Data_Types::ChangeableKind')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.changeability"); } $self->{'changeability'} = $val ; ; $self; }
sub count_changeability ($) { my ($self) = @_; ; my $val = $self->{'changeability'}; ; defined $val ? 1 : 0; }
################################################################# # Attribute visibility # type = UMMF::UML_1_5::Foundation::Data_Types::VisibilityKind # multiplicity = 1 # ordering = unordered # ownerScope = instance # initialValue = "public"
sub visibility ($) { my ($self) = @_; ; my $val = $self->{'visibility'}; ; $val; }
sub set_visibility ($$) { my ($self, $val) = @_; ; if ( defined $val ) { $self->__use('UMMF::UML_1_5::Foundation::Data_Types::VisibilityKind')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.visibility"); } $self->{'visibility'} = $val ; ; $self; }
sub count_visibility ($) { my ($self) = @_; ; my $val = $self->{'visibility'}; ; defined $val ? 1 : 0; } ################################################################# # Association #
################################################################# # AssociationEnd connection <---> _association # type = UMMF::UML_1_5::Foundation::Core::Association # multiplicity = 1 # ordering =
sub _association ($) { my ($self) = @_; $self->{'_association'}; }
sub set__association ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'_association'}) ne $val ) { # Recursion lock if ( defined $val ) { $self->__use('UMMF::UML_1_5::Foundation::Core::Association')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd._association") } # Recursion lock $self->{'_association'} = $val ; # Remove and add associations with other ends. $old->remove_connection($self) if $old; $val->add_connection($self) if $val; } $self; }
sub add__association ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'_association'}) ne $val ) { # Recursion lock $self->__use('UMMF::UML_1_5::Foundation::Core::Association')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd._association"); # confess("UMMF::UML_1_5::Foundation::Core::AssociationEnd::_association: too many") # if defined $self->{'_association'}; # Recursion lock $self->{'_association'} = $val ; # Remove and add associations with other ends. $old->remove_connection($self) if $old; $val->add_connection($self) if $val; } $self; }
sub remove__association ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'_association'}) eq $val ) { # Recursion lock $val = $self->{'_association'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_connection($self) if $old; $val->add_connection($self) if $val; } }
sub clear__association ($@) { my ($self) = @_; my $old; if ( defined ($old = $self->{'_association'}) ) { # Recursion lock my $val = $self->{'_association'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_connection($self) if $old; $val->add_connection($self) if $val; } $self; }
sub count__association ($) { my ($self) = @_; my $x = $self->{'_association'}; defined $x ? 1 : 0; }
################################################################# # AssociationEnd associationEnd <---> linkEnd # type = UMMF::UML_1_5::Behavioral_Elements::Common_Behavior::LinkEnd # multiplicity = 0..* # ordering =
sub linkEnd ($) { my ($self) = @_; my $x = $self->{'linkEnd'}; # confess("Container for linkEnd $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_linkEnd ($@) { my ($self, @val) = @_; $self->clear_linkEnd; $self->add_linkEnd(@val); }
sub add_linkEnd ($@) { my ($self, @val) = @_; my $x = $self->{'linkEnd'} ||= 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::LinkEnd')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.linkEnd"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_associationEnd($self) if $old; $val->add_associationEnd($self) if $val; } $self; }
sub remove_linkEnd ($@) { my ($self, @val) = @_; my $x = $self->{'linkEnd'} ||= 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::LinkEnd')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.linkEnd"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_associationEnd($self) if $old; $val->add_associationEnd($self) if $val; ; } $self; }
sub clear_linkEnd ($) { my ($self) = @_; my $x = $self->{'linkEnd'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'linkEnd'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_associationEnd($self) if $old; $val->add_associationEnd($self) if $val; ; } $self; }
sub count_linkEnd ($) { my ($self) = @_; my $x = $self->{'linkEnd'}; defined $x ? $x->size : 0; }
################################################################# # AssociationEnd association <---> participant # type = UMMF::UML_1_5::Foundation::Core::Classifier # multiplicity = 1 # ordering =
sub participant ($) { my ($self) = @_; $self->{'participant'}; }
sub set_participant ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'participant'}) ne $val ) { # Recursion lock if ( defined $val ) { $self->__use('UMMF::UML_1_5::Foundation::Core::Classifier')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.participant") } # Recursion lock $self->{'participant'} = $val ; # Remove and add associations with other ends. $old->remove_association($self) if $old; $val->add_association($self) if $val; } $self; }
sub add_participant ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'participant'}) ne $val ) { # Recursion lock $self->__use('UMMF::UML_1_5::Foundation::Core::Classifier')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.participant"); # confess("UMMF::UML_1_5::Foundation::Core::AssociationEnd::participant: too many") # if defined $self->{'participant'}; # Recursion lock $self->{'participant'} = $val ; # Remove and add associations with other ends. $old->remove_association($self) if $old; $val->add_association($self) if $val; } $self; }
sub remove_participant ($$) { my ($self, $val) = @_; no warnings; # Use of uninitialized value in string ne at ... my $old; if ( ($old = $self->{'participant'}) eq $val ) { # Recursion lock $val = $self->{'participant'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_association($self) if $old; $val->add_association($self) if $val; } }
sub clear_participant ($@) { my ($self) = @_; my $old; if ( defined ($old = $self->{'participant'}) ) { # Recursion lock my $val = $self->{'participant'} = undef; # Recursion lock # Remove and add associations with other ends. $old->remove_association($self) if $old; $val->add_association($self) if $val; } $self; }
sub count_participant ($) { my ($self) = @_; my $x = $self->{'participant'}; defined $x ? 1 : 0; }
################################################################# # AssociationEnd associationEnd <---> qualifier # type = UMMF::UML_1_5::Foundation::Core::Attribute # multiplicity = 0..* # ordering = ordered
sub qualifier ($) { my ($self) = @_; my $x = $self->{'qualifier'} ||= [ ]; wantarray ? @{$x} : $x; }
sub index_qualifier ($$@) { my ($self, $i, $count) = @_; ; my $val = $self->{'qualifier'} ||= [ ]; ; wantarray ? $val->[$i .. (defined $count ? $i + $count - 1 : $i)] : $val->[$i]; }
sub index_of_qualifier ($$) { my ($self, $x) = @_; ; my $val = $self->{'qualifier'} ||= [ ]; ; __ummf_array_index($val, $x); }
sub set_qualifier ($@) { my ($self, @val) = @_; $self->clear_qualifier; $self->add_qualifier(@val); }
sub set_index_qualifier ($$$) { my ($self, $i, $val) = @_; ; my $x = $self->{'qualifier'} ||= [ ]; no warnings; my $old; if ( ($old = $x->[$i]) ne $val) { # Recursion lock $x->[$i] = $val ; # Remove and add associations with other ends. $old->remove_associationEnd($self) if $old; $val->add_associationEnd($self) if $val; ; } $self; }
sub add_qualifier ($@) { my ($self, @val) = @_; my $x = $self->{'qualifier'} ||= [ ]; my $old; # Place holder for other MACRO. for my $val ( @val ) { # Recursion lock next if grep($_ eq $val, @$x); $self->__use('UMMF::UML_1_5::Foundation::Core::Attribute')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.qualifier"); # Recursion lock push(@{$x}, $val); # Remove and add associations with other ends. $old->remove_associationEnd($self) if $old; $val->add_associationEnd($self) if $val; } $self; }
sub add_index_qualifier ($$@) { my ($self, $i, @val) = @_; my $x = $self->{'qualifier'} ||= [ ]; my $old; # Place holder for other MACRO. for my $val ( @val ) { # Recursion lock next if grep($_ eq $val, @$x); $self->__use('UMMF::UML_1_5::Foundation::Core::Attribute')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.qualifier"); # Recursion lock splice(@{$x}, $i, 0, $val); # Recursion lock ++ $i; # Remove and add associations with other ends. $old->remove_associationEnd($self) if $old; $val->add_associationEnd($self) if $val; } $self; }
sub remove_qualifier ($@) { my ($self, @val) = @_; my $x = $self->{'qualifier'} ||= [ ]; for my $old ( @val ) { # Recursion lock my $i; # index of $old in @$x. next unless defined($i = __ummf_array_index($x, $old)); my $val = $old; $self->__use('UMMF::UML_1_5::Foundation::Core::Attribute')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.qualifier"); # Recursion lock splice(@$x, $i, 1); $val = undef; # Remove associations with other ends. $old->remove_associationEnd($self) if $old; $val->add_associationEnd($self) if $val; ; } $self; }
sub clear_qualifier ($) { my ($self) = @_; my $x = $self->{'qualifier'} ||= [ ]; my $val; # Place holder for other MACRO. $self->{'qualifier'} = [ ]; # Recursion lock for my $old ( @$x ) { # Recursion lock # Remove associations with other ends. $old->remove_associationEnd($self) if $old; $val->add_associationEnd($self) if $val; ; } $self; }
sub count_qualifier ($) { my ($self) = @_; my $x = $self->{'qualifier'}; defined $x ? scalar @$x : 0; }
################################################################# # AssociationEnd specifiedEnd <---> specification # type = UMMF::UML_1_5::Foundation::Core::Classifier # multiplicity = 0..* # ordering =
sub specification ($) { my ($self) = @_; my $x = $self->{'specification'}; # confess("Container for specification $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_specification ($@) { my ($self, @val) = @_; $self->clear_specification; $self->add_specification(@val); }
sub add_specification ($@) { my ($self, @val) = @_; my $x = $self->{'specification'} ||= 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::Classifier')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.specification"); # Recursion lock $x->insert($val); # weaken? # Remove and add associations with other ends. $old->remove_specifiedEnd($self) if $old; $val->add_specifiedEnd($self) if $val; } $self; }
sub remove_specification ($@) { my ($self, @val) = @_; my $x = $self->{'specification'} ||= 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::Classifier')->__typecheck($val, "UMMF::UML_1_5::Foundation::Core::AssociationEnd.specification"); # Recursion lock $x->remove($old); $val = undef; # Remove associations with other ends. $old->remove_specifiedEnd($self) if $old; $val->add_specifiedEnd($self) if $val; ; } $self; }
sub clear_specification ($) { my ($self) = @_; my $x = $self->{'specification'} ||= Set::Object->new(); my $val; # Place holder for other MACRO. $self->{'specification'} = Set::Object->new(); # Recursion lock for my $old ( $x->members() ) { # Recursion lock # Remove associations with other ends. $old->remove_specifiedEnd($self) if $old; $val->add_specifiedEnd($self) if $val; ; } $self; }
sub count_specification ($) { my ($self) = @_; my $x = $self->{'specification'}; defined $x ? $x->size : 0; } # End of Class AssociationEnd
############################################################################ 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: ###