Kurt Stephens > UMMF > [%

Download:
UMMF-1.02.tar.gz

Annotate this POD

View/Report Bugs
Source  

NAME ^

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

SYNOPSIS ^

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

DESCRIPTION ^

This package

USAGE ^

EXPORT ^

None exported.

AUTHOR ^

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

CLASSIFIERS ^

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 %]

SEE ALSO ^

UMMF::Core::MetaModel

VERSION ^

$Revision: 1.77 $

METHODS ^

factory_map

Returns 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.

model

Returns the UML meta-model Model object for this Model.

__rebless_tree

Work 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.

factory

Returns a factory for this Model.

NAME ^

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

SYNOPSIS ^

  use base qw([% base_package %]);

DESCRIPTION ^

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

USAGE ^

EXPORT ^

  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

AUTHOR ^

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

SEE ALSO ^

UMMF::Core::MetaModel

VERSION ^

$Revision: 1.77 $

METHODS ^

__use

  my $pkg = $self->__use('Some::Package');
  my $new_obj = $pkg->new(...);

Dynamically "use" a package.

__factory

Returns the factory object for this Classifier's Model.

__metamodel

Returns the Model for this Classifier.

__classifier

  my $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_type

  Some::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.

__initialize

Initialize all slots in an instance with initial values.

Called by new and new_.

___initialize

Initialize all slots of a particular Classifier's Attributes and AssociationEnds.

Called by __initialize.

__create

Calls all Generalizations' __create methods.

Called by new.

___create

Placeholder for user-specified <<create>> methods.

Called by __create.

____create

Hand-coded subclasses can override this method, but they must return $self.

Called by new.

$_id

Variable incremented for each new instance created by __new_instance. The new ID is stored in the object's <$self-{_id}>> slot.

$__new_instance_event

Defines a subroutine that is called with each new instance created by __new_instance. Deprecated: See add___extent.

add___extent

  my $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___extent

  my $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_instance

  my $obj = $package->__new_instance(%attrs);

Returns a new instance, without initializing.

New instances get a unique id stored in <$obj-{'_id'}>>.

new

  my $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.

__clone

  my $clone = $obj->__clone();

Returns a new cloned instance.

Clones get a unique id stored in <$clone-{'_id'}>>.

__clone_deepen

Further 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.

__ummf_array_index

  my $i = __ummf_array_index(\@a, $elem);

Returns the first index of $elem in @a or undef.

__ummf_array_delete

  __ummf_array_delete(\@a, $elem);

Deletes all $elem in @a.

__ummf_array_delete_once

  __ummf_array_delete_once(\@a, $elem);

Deletes the first $elem in @a.

__ummf_array_delete_each

  __ummf_array_delete_each(\@a, \@elem);

Deletes each element in @elem in @a.

__ummf_array_delete_each

  __ummf_array_delete_each(\@a, \@elem);

Deletes each first element in @elem in @a.

AUTOLOAD

Autoloader to simplify isa<Classifier>() handling of disjoint types. This also prints a verbose stack trace for an unimplemented method.

NAME ^

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

VERSION ^

[% cls.version %]

SYNOPSIS ^

DESCRIPTION ^

USAGE ^

EXPORT ^

METATYPE ^

[% cls.metatype %]

SUPERCLASSES ^

[% FOREACH super = cls.supers %] [% super %]

[% END %] [% FOREACH super = cls.abstraction %] [% super.package %]

[% END %] [% FOREACH super = cls.supers_default %] [% super %]

[% END %]

[% IF cls.isaEnumeration %]

ENUMERATION LITERALS ^

[% FOREACH attr = cls.literal %]

[% attr.name_ %]

[% attr.documentation %]

[% END %]

[% ELSE %]

ATTRIBUTES ^

[% UNLESS cls.attributes %] NO ATTRIBUTES [% END %] [% FOREACH attr = cls.attribute %]

[% attr.name_ %] : [% attr.type %] [% UNLESS attr.multi_single %][[% attr.multi %]][% END %]

[% attr.documentation %]

metatype = [% attr.metatype %]
type = [% attr.type %]
visibility = [% attr.visibility %]
multiplicity = [% attr.multi %]
changeability = [% attr.changeability %]
targetScope = [% attr.targetScope %]
ordering = [% attr.ordering %]
initialValue = [% IF attr.initialValue_defined %]<[% attr.initialValue %]>[% ELSE %]UNSPECIFIED[% END %]
container_type = [% attr.container_type %]

[% END %]

ASSOCIATIONS ^

[% 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 %]

metatype = [% end.metatype %]
type = [% end.type %]
multiplicity = [% end.multi %]
changeability = [% end.changeability %]
targetScope = [% end.targetScope %]
ordering = [% end.ordering %]
isNavigable = [% end.isNavigable %]
aggregation = [% end.aggregation %]
visibility = [% end.visibility %]
container_type = [% end.container_type %]

[% END %] [% END %]

[% END %]

METHODS ^

new

Constructs new [% cls.package %] value.

new

  my $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_name

  my $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_schema

  my $tangram_schema $obj_or_package->__tangram_schema

Returns a HASH ref that describes this Classifier for Tangram.

See UMMF::Export::Perl::Tangram

___initialize

Initialize all Attributes and AssociationEnds in a instance of this Classifier. Does not initalize slots in its Generalizations.

See also: __initialize.

__initialize

Initialize all slots in this Classifier and all its Generalizations.

See also: ___initialize.

__create

Calls 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 %];

___create

Placeholder for undefined <<create>> Method.

See also: __create.


END OF DOCUMENT

syntax highlighting: