From: Dave Rolsky Date: Thu, 26 Mar 2009 17:29:06 +0000 (-0500) Subject: Docs for MM::TC::TypeRegistry X-Git-Tag: 0.72_01~6 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c9861bfb1991b07db2ccd524deeb153d9eca45cd;p=gitmo%2FMoose.git Docs for MM::TC::TypeRegistry --- diff --git a/lib/Moose/Meta/TypeConstraint/Registry.pm b/lib/Moose/Meta/TypeConstraint/Registry.pm index 03602e0..73bb5ac 100644 --- a/lib/Moose/Meta/TypeConstraint/Registry.pm +++ b/lib/Moose/Meta/TypeConstraint/Registry.pm @@ -74,42 +74,71 @@ Moose::Meta::TypeConstraint::Registry - registry for type constraints =head1 DESCRIPTION -This module is currently only use internally by L. -It can be used to create your own private type constraint registry as well, but -the details of that are currently left as an exercise to the reader. (One hint: -You can use the 'parent_registry' feature to connect your private version with the -base Moose registry and base Moose types will automagically be found too). +This class is a registry that maps type constraint names to +L objects. + +Currently, it is only used internally by +L, which creates a single global +registry. + +=head1 INHERITANCE + +C is a subclass of +L. =head1 METHODS =over 4 -=item B +=item B<< Moose::Meta::TypeConstraint::Registry->new(%options) >> + +This creates a new registry object based on the provided C<%options>: + +=over 8 + +=item * parent_registry + +This is an optional L +object. + +=item * 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. + +=back + +=item B<< $registry->get_parent_registry >> + +Returns the registry's parent registry, if it has one. + +=item B<< $registry->has_parent_registry >> + +Returns true if the registry has a parent. -=item B +=item B<< $registry->set_parent_registry($registry) >> -=item B +Sets the parent registry. -=item B - -=item B +=item B<< $registry->get_type_constraint($type_name) >> -=item B +This returns the L object from the +registry for the given name, if one exists. -=item B +=item B<< $registry->has_type_constraint($type_name) >> -=item B +Returns true if the registry has a type of the given name. -Returns a type constraint object from the registry by name. Will return -false if the supplied type name cannot be found. +=item B<< $registry->add_type_constraint($type) >> -=item B +Adds a new L object to the registry. -Adds a type constraint object to the registry. Will throw an exception if -no type is supplied, or the supplied object does not inherit from -L +=item B<< $registry->find_type_constraint($type_name) >> -=item B +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. =back