| Class::Meta::Types::Perl - Perl data types |
Class::Meta::Types::Perl - Perl data types
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;
}
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:
A simple scalar value. This can be anything, and has no validation checks.
A scalar reference. UNIVERSAL::isa() must return 'SCALAR'.
A array reference. UNIVERSAL::isa() must return 'ARRAY'.
A hash reference. UNIVERSAL::isa() must return 'HASH'.
A code reference. Also known as a closure. UNIVERSAL::isa() must return
'CODE'.
Please send bug reports to <bug-class-meta@rt.cpan.org> or report them via the CPAN Request Tracker at http://rt.cpan.org/NoAuth/Bugs.html.
David Wheeler <david@kineticode.com>
Other classes of interest within the Class::Meta distribution include:
This class contains most of the documentation you need to get started with Class::Meta.
This class manages the creation of data types.
This class manages Class::Meta class attributes, all of which are based on data types.
Other data type modules:
Copyright (c) 2002-2006, David Wheeler. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Class::Meta::Types::Perl - Perl data types |