NAME

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

VERSION

version 2.2207

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.