Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

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

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


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


BUGS

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.


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 AND LICENSE

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.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy