Dave Rolsky > Moose-0.86 > Moose::Meta::TypeConstraint::Registry

Download:
Moose-0.86.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  4
Open  11
View Bugs
Report a bug
Module Version: 0.86   Source   Latest Release: Moose-0.93

NAME ^

Moose::Meta::TypeConstraint::Registry - registry for type constraints

DESCRIPTION ^

This class is a registry that maps type constraint names to Moose::Meta::TypeConstraint objects.

Currently, it is only used internally by Moose::Util::TypeConstraints, which creates a single global registry.

INHERITANCE ^

Moose::Meta::TypeConstraint::Registry is a subclass of Class::MOP::Object.

METHODS ^

Moose::Meta::TypeConstraint::Registry->new(%options)

This creates a new registry object based on the provided %options:

  • parent_registry

    This is an optional Moose::Meta::TypeConstraint::Registry object.

  • type_constraints

    This is hash reference of type names to type objects. This is optional. Constraints can be added to the registry after it is created.

$registry->get_parent_registry

Returns the registry's parent registry, if it has one.

$registry->has_parent_registry

Returns true if the registry has a parent.

$registry->set_parent_registry($registry)

Sets the parent registry.

$registry->get_type_constraint($type_name)

This returns the Moose::Meta::TypeConstraint object from the registry for the given name, if one exists.

$registry->has_type_constraint($type_name)

Returns true if the registry has a type of the given name.

$registry->add_type_constraint($type)

Adds a new Moose::Meta::TypeConstraint object to the registry.

$registry->find_type_constraint($type_name)

This method looks in the current registry for the named type. If the type is not found, then this method will look in the registry's parent, if it has one.

BUGS ^

All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.

AUTHOR ^

Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE ^

Copyright 2006-2009 by Infinity Interactive, Inc.

http://www.iinteractive.com

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