Moose::Meta::TypeConstraint::Registry(3p)

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

VERSION
version 2.2201

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
See "BUGS" in Moose for details on reporting bugs.

AUTHORS

•   Stevan Little <stevan@cpan.org>

•   Dave Rolsky <autarch@urth.org>

•   Jesse Luehrs <doy@cpan.org>

•   Shawn M Moore <sartak@cpan.org>

•   יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>

•   Karen Etheridge <ether@cpan.org>

•   Florian Ragwitz <rafl@debian.org>

•   Hans Dieter Pearcey <hdp@cpan.org>

•   Chris Prather <chris@prather.org>

•   Matt S Trout <mstrout@cpan.org>

COPYRIGHT AND LICENSE
This software is copyright (c) 2006 by Infinity Interactive, Inc.

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