# -*- 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::MOF_1_3::Model::EnumerationType; #use 5.6.1; use strict; use warnings; ################################################################# # Version # our $VERSION = do { my @r = (q{1.3} =~ /\d+/g); sprintf "%d." . "%03d" x $#r, @r }; ################################################################# # Documentation # =head1 NAME UMMF::MOF_1_3::Model::EnumerationType -- =head1 VERSION 1.3 =head1 SYNOPSIS =head1 DESCRIPTION =head1 USAGE =head1 EXPORT =head1 METATYPE L =head1 SUPERCLASSES L =head1 ATTRIBUTES =head2 C : UMMF::MOF_1_3::Model::String [C<1..*>] =over 4 =item metatype = L =item type = L =item visibility = C =item multiplicity = C<1..*> =item changeability = C =item targetScope = C =item ordering = C =item initialValue = I =item container_type = C =back =head1 ASSOCIATIONS I =head1 METHODS =cut ################################################################# # 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::MOF_1_3::__ObjectBase qw(:__ummf_array); ################################################################# # Generalizations # use base qw( UMMF::MOF_1_3::Model::DataType ); ################################################################# # Exports # our @EXPORT_OK = qw( ); our %EXPORT_TAGS = ( 'all' => \@EXPORT_OK ); ################################################################# # Validation # =head2 C<__validate_type> UMMF::MOF_1_3::Model::EnumerationType->__validate_type($value); Returns true if C<$value> is a valid representation of L. =cut sub __validate_type($$) { my ($self, $x) = @_; no warnings; UNIVERSAL::isa($x, 'UMMF::MOF_1_3::Model::EnumerationType') ; } =head2 C<__typecheck> UMMF::MOF_1_3::Model::EnumerationType->__typecheck($value, $msg); Calls C with C<$msg> if C<__validate_type($value)>> is false. =cut sub __typecheck { my ($self, $x, $msg) = @_; confess("typecheck: $msg: type '" . 'UMMF::MOF_1_3::Model::EnumerationType' . ": value '$x'") unless __validate_type($self, $x); } =head2 C Returns true if receiver is a L. Other receivers will return false. =cut sub isaEnumerationType { 1 } =head2 C Returns true if receiver is a L. Other receivers will return false. This is the fully qualified version of the C method. =cut sub isaModel__EnumerationType { 1 } ################################################################# # Introspection # =head2 C<__model_name> my $name = $obj_or_package->__model_name; Returns the UML Model name (C<'Model::EnumerationType'>) for an object or package of this Classifier. =cut sub __model_name { 'Model::EnumerationType' } =head2 C<__isAbstract> $package->__isAbstract; Returns C<0>. =cut sub __isAbstract { 0; } my $__tangram_schema; =head2 C<__tangram_schema> my $tangram_schema $obj_or_package->__tangram_schema Returns a HASH ref that describes this Classifier for Tangram. See L =cut sub __tangram_schema { my ($self) = @_; $__tangram_schema ||= { 'classes' => [ 'UMMF::MOF_1_3::Model::EnumerationType' => { 'table' => 'Model__EnumerationType', 'abstract' => 0, 'slots' => { # Attributes 'labels' => { 'type_impl' => 'set', 'class' => 'UMMF::MOF_1_3::Model::String', 'table' => 'Model__Constrains', 'item' => 'labels', 'coll' => 'constraint', } , # Associations }, 'bases' => [ 'UMMF::MOF_1_3::Model::DataType', ], '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 # =head2 C<___initialize> Initialize all Attributes and AssociationEnds in a instance of this Classifier. Does B initalize slots in its Generalizations. See also: C<__initialize>. =cut sub ___initialize { my ($self) = @_; # Attributes # Attribute labels if ( exists $self->{'labels'} ) { my $x = $self->{'labels'}; $self->{'labels'} = undef; $self->set_labels(ref($x) ? @$x : $x); } else { } # Associations $self; } my $__initialize_use; =head2 C<__initialize> Initialize all slots in this Classifier and all its Generalizations. See also: C<___initialize>. =cut sub __initialize { my ($self) = @_; # $DB::single = 1; unless ( ! $__initialize_use ) { $__initialize_use = 1; $self->__use('UMMF::MOF_1_3::Model::ModelElement'); $self->__use('UMMF::MOF_1_3::Model::Namespace'); $self->__use('UMMF::MOF_1_3::Model::GeneralizableElement'); $self->__use('UMMF::MOF_1_3::Model::Classifier'); $self->__use('UMMF::MOF_1_3::Model::DataType'); } $self->UMMF::MOF_1_3::Model::EnumerationType::___initialize; $self->UMMF::MOF_1_3::Model::ModelElement::___initialize; $self->UMMF::MOF_1_3::Model::Namespace::___initialize; $self->UMMF::MOF_1_3::Model::GeneralizableElement::___initialize; $self->UMMF::MOF_1_3::Model::Classifier::___initialize; $self->UMMF::MOF_1_3::Model::DataType::___initialize; $self; } =head2 C<__create> Calls all <> Methods for this Classifier and all Generalizations. See also: C<___create>. =cut sub __create { my ($self, @args) = @_; # $DB::single = 1; $self->UMMF::MOF_1_3::Model::EnumerationType::___create(@args); $self->UMMF::MOF_1_3::Model::ModelElement::___create(); $self->UMMF::MOF_1_3::Model::Namespace::___create(); $self->UMMF::MOF_1_3::Model::GeneralizableElement::___create(); $self->UMMF::MOF_1_3::Model::Classifier::___create(); $self->UMMF::MOF_1_3::Model::DataType::___create(); $self; } ################################################################# # Attributes # =for html
=cut ################################################################# # Attribute labels # type = UMMF::MOF_1_3::Model::String # multiplicity = 1..* # ordering = unordered # ownerScope = instance # initialValue = =head2 C my $array_ref = $obj->labels; my @val = $obj->labels; Returns the L values of Attribute C. In list context it returns the list of values. In scalar context it returns a reference to the list of values. =cut sub labels ($) { my ($self) = @_; ; my $val = $self->{'labels'} ||= [ ]; ; wantarray ? @$val : $val; } =head2 C $obj->set_labels(@val); Sets the values of Attribute C. The elements of C<@val> must be of type L. Returns C<$obj>. =cut sub set_labels ($@) { my ($self, @val) = @_; ; for my $val ( @val ) { ; } $self->{'labels'} = \@val; ; $self; } =head2 C $obj->add_labels(@val); Adds the values of Attribute C. The elements of C<@val> must be of type L. Returns C<$obj>. =cut sub add_labels ($@) { my ($self, @val) = @_; ; for my $val ( @val ) { ; } my $x = $self->{'labels'} ||= [ ]; push(@$x, @val); ; $self; } =head2 C $obj->remove_labels(@val); Removes values from Attribute C. The elements of C<@val> must be of type L. Returns C<$obj>. =cut sub remove_labels ($@) { my ($self, @val) = @_; ; for my $val ( @val ) { ; } my $x = $self->{'labels'} ||= [ ]; __ummf_array_delete_each($x, \@val); ; $self; } =head2 C $obj->clear_labels; Removes all values from Attribute C. Returns C<$obj>. =cut sub clear_labels ($) { my ($self) = @_; ; $self->{'labels'} = [ ]; ; $self; } =head2 C $obj->count_labels; Returns the number of elements in C. =cut sub count_labels ($) { my ($self) = @_; ; my $val = $self->{'labels'}; ; $val ? scalar @$val : 0; } ################################################################# # Association # # End of Class EnumerationType =pod =for html
I =cut ############################################################################ 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: ###