Class::Meta::Types::Perl.3pm

Langue: en

Version: 2009-04-08 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Class::Meta::Types::Perl - Perl data types

SYNOPSIS

   package MyApp::Thingy;
   use strict;
   use Class::Meta;
   use Class::Meta::Types::Perl;
   # OR...
   # use Class::Meta::Types::Perl 'affordance';
   # OR...
   # use Class::Meta::Types::Perl 'semi-affordance';
 
   BEGIN {
       # Create a Class::Meta object for this class.
       my $cm = Class::Meta->new( key => 'thingy' );
 
       # Add an integer attribute.
       $cm->add_attribute( name => 'my_hash',
                           type => 'hash' );
       $cm->build;
   }
 
 

DESCRIPTION

This module provides Perl data types for use with Class::Meta attributes. Simply load it, then pass the name of one of its types to the "add_attribute()" method of a Class::Meta object. See Class::Meta::Type for more information on using and creating data types.

The validation checks for Class::Meta::Types::Perl are provided by the Class::Meta::Type's support for object type validation, since Perl data types are understood by "UNIVERSAL::isa()".

The data types created by Class::Meta::Types::Perl are:

scalar
A simple scalar value. This can be anything, and has no validation checks.
scalarref
A scalar reference. "UNIVERSAL::isa()" must return 'SCALAR'.
array
arrayref
A array reference. "UNIVERSAL::isa()" must return 'ARRAY'.
hash
hashref
A hash reference. "UNIVERSAL::isa()" must return 'HASH'.
code
coderef
closure
A code reference. Also known as a closure. "UNIVERSAL::isa()" must return 'CODE'.

SUPPORT

This module is stored in an open repository at the following address:

<https://svn.kineticode.com/Class-Meta/trunk/>

Patches against Class::Meta are welcome. Please send bug reports to <bug-class-meta@rt.cpan.org>.

AUTHOR

David Wheeler <david@kineticode.com>

SEE ALSO

Other classes of interest within the Class::Meta distribution include:
Class::Meta
This class contains most of the documentation you need to get started with Class::Meta.
Class::Meta::Type
This class manages the creation of data types.
Class::Meta::Attribute
This class manages Class::Meta class attributes, all of which are based on data types.

Other data type modules:

Class::Meta::Types::String
Class::Meta::Types::Boolean
Class::Meta::Types::Numeric
Copyright (c) 2002-2008, David Wheeler. Some Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.