# phpman > perldoc > Moose::Meta::TypeConstraint::Registry

## NAME
    [Moose::Meta::TypeConstraint::Registry](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ATypeConstraint%3A%3ARegistry/markdown) - registry for type constraints

## VERSION
    version 2.2200

## DESCRIPTION
    This class is a registry that maps type constraint names to [Moose::Meta::TypeConstraint](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ATypeConstraint/markdown) objects.

    Currently, it is only used internally by [Moose::Util::TypeConstraints](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AUtil%3A%3ATypeConstraints/markdown), which creates a single
    global registry.

## INHERITANCE
    "[Moose::Meta::TypeConstraint::Registry](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ATypeConstraint%3A%3ARegistry/markdown)" is a subclass of [Class::MOP::Object](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3AMOP%3A%3AObject/markdown).

## METHODS
  [Moose::Meta::TypeConstraint::Registry](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ATypeConstraint%3A%3ARegistry/markdown)->new(%options)
    This creates a new registry object based on the provided %options:

    *   parent_registry

        This is an optional [Moose::Meta::TypeConstraint::Registry](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ATypeConstraint%3A%3ARegistry/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ATypeConstraint/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ATypeConstraint/markdown) 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.

