
[% model_package %] - Model package for Model [% model.name %];

use [% model_package %]; my $model = [% model_package %]->model;

This package


None exported.

Kurt Stephens, kstephens@users.sourceforge.net 2003/04/15

The following is a list of all the Classifiers and their respective Perl modules defined in this Model.
[% FOREACH cls = classifier %]
[% cls.name_q %]See [% cls.package %].
[% END %]


$Revision: 1.77 $

factory_mapReturns an array ref that maps all UML Model names to Perl package names for this package. Also includes short name to fully-qualified name mappings.
modelReturns the UML meta-model Model object for this Model.
__rebless_treeWork around for errors like:
Can't locate object method "parent" via package "UMMF::UML_1_5::Foundation::Core::Generalization" at /c/wct/ummf/1.0/bin/../lib/perl/UML/MetaMetaModel/Util.pm line 712.
factoryReturns a factory for this Model.

[% base_package %] - base class package for Model [% model.name %];

use base qw([% base_package %]);

This package provides a base class for Perl modules generated by UMMF.


use [% base_package %] qw(:__ummf_array); __ummf_array_index __ummf_array_delete __ummf_array_delete_once __ummf_array_delete_each __ummf_array_delete_each_once

Kurt Stephens, kstephens@users.sourceforge.net 2003/04/15


$Revision: 1.77 $

__use my $pkg = $self->__use('Some::Package');
my $new_obj = $pkg->new(...);
Dynamically "use" a package.
__factoryReturns the factory object for this Classifier's Model.
__metamodelReturns the Model for this Classifier.
__classifiermy $classifier = $obj_or_package->__classifier;
Returns the UML meta-model Classifier for an object or package.
__isAbstract$package->__isAbstract;
Returns true if <$package> is an abstract Classifer.
Abstract Classifiers are not instantiable via new.
__validate_typeSome::Package->__validate_type($value);
Returns true if $value is a valid representation of this Classifier.
__typecheck$value = Some::Package->__typecheck($value, $msg);
Generates an exception with $msg if $value is not a valid representaion of this Classifier.
Returns $value.
__initializeInitialize all slots in an instance with initial values.
Called by new and new_.
___initializeInitialize all slots of a particular Classifier's Attributes and AssociationEnds.
Called by __initialize.
__createCalls all Generalizations' __create methods.
Called by new.
___createPlaceholder for user-specified <<create>> methods.
Called by __create.
____createHand-coded subclasses can override this method, but they must return $self.
Called by new.
$_idVariable incremented for each new instance created by __new_instance. The new ID is stored in the object's <$self-{_id}>> slot.
$__new_instance_eventDefines a subroutine that is called with each new instance created by __new_instance. Deprecated: See add___extent.
add___extentmy $extent = UMMF::Object::Extent->new(); [% base_package %]->add___extent($extent);
Register a new Extent observer object to this base class.
See also: UMMF::Object::Extent.
remove___extentmy $extent = ...; [% base_package %]->remove__extent($extent);
Deregister an Extent observer object from this base class.
__extent_add_object$obj = $package->__extent_add_object($obj, @args)
Cause all registered Extent objects to be messaged as <$extent-add_object($obj, @args)>>.
Extent observer implementors should note that $obj may not be a fully initialized instance.
Called by __new_instance and __clone.
Overides of __new_instance or __clone should call <self-__extent_add_object($obj, ...)>>.
Returns $obj.
__new_instancemy $obj = $package->__new_instance(%attrs);
Returns a new instance, without initializing.
New instances get a unique id stored in <$obj-{'_id'}>>.
newmy $obj = $package->new(%attrs);
Returns a new, initialized instance using keyword values.
Throws exception if <$package-__isAbstract>>.
Calls <$package-__new_instance(%attrs)>> to create instance, then calls <$obj-__initialize()->__create()>> to complete initialization.
new_my $obj = $package->new_(@opts);
Returns a new, initialized instance using a matching <<create>> Method.
Throws exception if <$package-__isAbstract>>.
Calls <$package-__new_instance()>> to create instance without any initialization keyword values then calls <$obj-__initialize()->__create(@opts)>> to complete initialization.
__clonemy $clone = $obj->__clone();
Returns a new cloned instance.
Clones get a unique id stored in <$clone-{'_id'}>>.
__clone_deepenFurther deepens any composed objects in a instance. Subclasses may override and call SUPER.
__ummf_disassemble$obj->__ummf_disassemble();
Dissassembles an object graph, recursively, by traversing any Attributes or AssoicationEnds.
Only objects that respond to __ummf_disassemble are affected.
my $i = __ummf_array_index(\@a, $elem);
Returns the first index of $elem in @a or undef.
__ummf_array_delete(\@a, $elem);
Deletes all $elem in @a.
__ummf_array_delete_once(\@a, $elem);
Deletes the first $elem in @a.
__ummf_array_delete_each(\@a, \@elem);
Deletes each element in @elem in @a.
__ummf_array_delete_each(\@a, \@elem);
Deletes each first element in @elem in @a.
AUTOLOADAutoloader to simplify isa<Classifier>() handling of disjoint types. This also prints a verbose stack trace for an unimplemented method.

[% cls.package %] -- [% cls.documentation %]

[% cls.version %]






[% FOREACH super = cls.supers %] [% super %]
[% END %] [% FOREACH super = cls.abstraction %] [% super.package %]
[% END %] [% FOREACH super = cls.supers_default %] [% super %]
[% END %]
[% IF cls.isaEnumeration %]

[% FOREACH attr = cls.literal %]
[% attr.name_ %][% attr.documentation %]
[% END %]
[% ELSE %]

[% UNLESS cls.attributes %] NO ATTRIBUTES [% END %] [% FOREACH attr = cls.attribute %]
[% attr.name_ %] : [% attr.type %] [% UNLESS attr.multi_single %][[% attr.multi %]][% END %][% attr.documentation %]
[% attr.visibility %][% attr.multi %][% attr.changeability %][% attr.targetScope %][% attr.ordering %]<[% attr.initialValue %]>[% ELSE %]UNSPECIFIED[% END %][% attr.container_type %][% END %]

[% UNLESS cls.associations %] NO ASSOCIATIONS [% END %] [% FOREACH clsend = cls.association %] [% FOREACH end = clsend.opposite %]
[% clsend.name_ %] : THIS [% clsend.multi %] [% IF clsend.isNavigable %]<[% ELSE %]-[% END %]---[% IF end.isNavigable %]>[% ELSE %]-[% END %] [% end.name_ %] : [% end.type %] [% end.multi %][% end.documentation %]
[% end.multi %][% end.changeability %][% end.targetScope %][% end.ordering %][% end.isNavigable %][% end.aggregation %][% end.visibility %][% end.container_type %][% END %] [% END %]
[% END %]

newConstructs new [% cls.package %] value.
newmy $x = [% cls.package %]->new($literal);
Constructs new [% cls.package %] literal value. $literal must be one of the following:
[% FOREACH literal = cls.literal %]
* '[% literal.name_ %]'
[% END %]
[% literal.NAME_ %]Returns '[% literal.name_ %]'.
__validate_type[%cls.package%]->__validate_type($value);
Returns true if $value is a valid representation of [%cls.package%].
__typecheck[%cls.package%]->__typecheck($value, $msg);
Calls confess() with $msg if <[%cls.package%]-__validate_type($value)>> is false.
isa[% cls.name_ %]Returns true if receiver is a [% cls.package %]. Other receivers will return false.
isa[% cls.name_q_ %]Returns true if receiver is a [% cls.package %]. Other receivers will return false. This is the fully qualified version of the isa[% cls.name_ %] method.
__model_namemy $name = $obj_or_package->__model_name;
Returns the UML Model name ('[% cls.name_q %]') for an object or package of this Classifier.
__isAbstract$package->__isAbstract;
Returns [% IF cls.isAbstract %]1[% ELSE %]0[% END %].
__tangram_schemamy $tangram_schema $obj_or_package->__tangram_schema
Returns a HASH ref that describes this Classifier for Tangram.
See UMMF::Export::Perl::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.
[% attr.name_ %]my $val = $obj->[% attr.name_ %];
Returns the [% attr.type %] value of Attribute [% attr.name %].
set_[% attr.name_ %]$obj->set_[% attr.name_ %]($val);
Sets the value of Attribute [% attr.name %]. $val must be of type [% attr.type %] or undef. Returns $obj.
count_[% attr.name_ %]$obj->count_[% attr.name_ %];
Returns the number of elements (0 or 1) in [% attr.name_ %].
[% attr.name_ %]my $array_ref = $obj->[% attr.name_ %]; my @val = $obj->[% attr.name_ %];
Returns the [% attr.type %] values of Attribute [% attr.name %]. In list context it returns the list of values. In scalar context it returns a reference to the list of values.
index_[% attr.name_ %]my $x = $obj->index_[% attr.name_ %]($i); my @x = $obj->index_[% attr.name_ %]($i, $count);
In scalar context, returns the value of Attribute [% attr.name %] at index $i. In array context, returns the values between index $i and $i + $count - 1, inclusive.
index_of_[% attr.name_ %]my $index = $obj->index_of_[% attr.name_ %]($x);
Returns the index of $x in Attribute [% attr.name %]. Return undef if $x is not in [% attr.name %].
set_[% attr.name_ %]$obj->set_[% attr.name_ %](@val);
Sets the values of Attribute [% attr.name %]. The elements of @val must be of type [% attr.type %]. Returns $obj.
set_index_[% attr.name_ %]$obj->set_index_[% attr.name_ %]($i, $val);
Sets the value of Attribute [% attr.name %] at index $i. Returns self.
add_[% attr.name_ %]$obj->add_[% attr.name_ %](@val);
Adds the values of Attribute [% attr.name %]. The elements of @val must be of type [% attr.type %]. Returns $obj.
add_index_[% attr.name_ %]$obj->add_index_[% attr.name_ %]($i, @val);
Add values of Attribute [% attr.name %] at index $i. Returns self.
remove_[% attr.name_ %]$obj->remove_[% attr.name_ %](@val);
Removes values from Attribute [% attr.name %]. The elements of @val must be of type [% attr.type %]. Returns $obj.
remove_index_[% attr.name_ %]$obj->remove_index_[% attr.name_ %]($i, $count); $obj->remove_index_[% attr.name_ %]($i);
Remove the values of Attribute [% attr.name %] at index $i (or between index $i and $i + $count - 1, inclusive). Returns self.
clear_[% attr.name_ %]$obj->clear_[% attr.name_ %];
Removes all values from Attribute [% attr.name %]. Returns $obj.
count_[% attr.name_ %]$obj->count_[% attr.name_ %];
Returns the number of elements in [% attr.name %].
[% end.name_ %]my $val = $obj->[% end.name_ %];
Returns the AssociationEnd [% end.name %] value of type [% end.type %].
set_[% end.name_ %]$obj->set_[% end.name_ %]($val);
Sets the AssociationEnd [% end.name %] value. $val must of type [% end.type %]. Returns $obj.
add_[% end.name_ %]$obj->add_[% end.name_ %]($val);
Adds the AssociationEnd [% end.name %] value. $val must of type [% end.type %]. Throws exception if a value already exists. Returns $obj.
remove_[% end.name_ %]$obj->remove_[% end.name_ %]($val);
Removes the AssociationEnd [% end.name %] value $val. Returns $obj.
clear_[% end.name_ %]$obj->clear_[% end.name_ %];
Clears the AssociationEnd [% end.name %] links to [% end.type %]. Returns $obj.
count_[% end.name_ %]$obj->count_[% end.name_ %];
Returns the number of elements of type [% end.type %] associated with [% end.name %].
[% end.name_ %]my @val = $obj->[% end.name_ %]; my $ary_val = $obj->[% end.name_ %];
Returns the AssociationEnd [% end.name %] values of type [% end.type %]. 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_[% end.name_ %]my $x = $obj->index_[% end.name_ %]($i); my @x = $obj->index_[% end.name_ %]($i, $count);
In scalar context, returns the value of AssociationEnd [% end.name %] at index $i. In array context, returns the values between index $i and $i + $count - 1, inclusive.
index_of_[% end.name_ %]my $index = $obj->index_of_[% end.name_ %]($val);
Returns the index of $val in AssociationEnd [% end.name %]. Return undef if $val is not in [% end.name %].
set_[% end.name_ %]$obj->set_[% end.name_ %](@val);
Sets the AssociationEnd [% end.name %] value. Elements of @val must of type [% end.type %]. Returns $obj.
set_index_[% end.name_ %]$obj->set_index_[% end.name_ %]($i, $val);
Sets the value of AssociationEnd [% end.name %] at index $i. Returns self.
add_[% end.name_ %]$obj->add_[% end.name_ %](@val);
Adds AssociationEnd [% end.name %] values. Elements of @val must of type [% end.type %]. Returns $obj.
add_index_[% end.name_ %]$obj->add_index_[% end.name_ %]($i, @val);
Adds AssociationEnd [% end.name %] values at index $i. Elements of @val must of type [% end.type %]. Returns $obj.
remove_[% end.name_ %]$obj->remove_[% end.name_ %](@val);
Removes the AssociationEnd [% end.name %] values @val. Elements of @val must of type [% end.type %]. Returns $obj.
clear_[% end.name_ %]$obj->clear_[% end.name_ %];
Clears the AssociationEnd [% end.name %] links to [% end.type %]. Returns $obj.
count_[% end.name_ %]$obj->count_[% end.name_ %];
Returns the number of elements associated with [% end.name %].
[% meth.op.name_impl %]$obj->[% meth.op.name_impl %]([% FOREACH param = meth.op.parameter %]$[% param.name %][%- ", " UNLESS loop.last %][% END %]);
[% meth.op.documentation %]
Parameters:
[% FOREACH param = meth.op.parameter %]
$[% param.name_ %]: [% param.type %] [% IF param.defaultValue_defined %] = [% param.defaultValue %][% END %][% END %]
UML:
id = [% meth.id %]; specification.id = [% meth.op.id %];
___createPlaceholder for undefined <<create>> Method.
See also: __create.
END OF DOCUMENT