Perl Diver 2.31
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Moose::Meta::TypeConstraint

Name Moose::Meta::TypeConstraint
Version 2.2201
Located at /usr/local/lib64/perl5
File /usr/local/lib64/perl5/Moose/Meta/TypeConstraint.pm
Is Core No
Search CPAN for this module Moose::Meta::TypeConstraint
Documentation Moose::Meta::TypeConstraint
Module Details Moose::Meta::TypeConstraint


NAME

Moose::Meta::TypeConstraint - The Moose Type Constraint metaclass


VERSION

version 2.2201


DESCRIPTION

This class represents a single type constraint. Moose's built-in type constraints, as well as constraints you define, are all stored in a the Moose::Meta::TypeConstraint::Registry manpage object as objects of this class.


INHERITANCE

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


METHODS

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

This creates a new type constraint based on the provided %options:

$constraint->equals($type_name_or_object)

Returns true if the supplied name or type object is the same as the current type.

$constraint->is_subtype_of($type_name_or_object)

Returns true if the supplied name or type object is a parent of the current type.

$constraint->is_a_type_of($type_name_or_object)

Returns true if the given type is the same as the current type, or is a parent of the current type. This is a shortcut for checking equals and is_subtype_of.

$constraint->coerce($value)

This will attempt to coerce the value to the type. If the type does not have any defined coercions this will throw an error.

If no coercion can produce a value matching $constraint, the original value is returned.

$constraint->assert_coerce($value)

This method behaves just like coerce, but if the result is not valid according to $constraint, an error is thrown.

$constraint->check($value)

Returns true if the given value passes the constraint for the type.

$constraint->validate($value)

This is similar to check. However, if the type is valid then the method returns an explicit undef. If the type is not valid, we call $self->get_message($value) internally to generate an error message.

$constraint->assert_valid($value)

Like check and validate, this method checks whether $value is valid under the constraint. If it is, it will return true. If it is not, an exception will be thrown with the results of $self->get_message($value).

$constraint->name

Returns the type's name, as provided to the constructor.

$constraint->parent

Returns the type's parent, as provided to the constructor, if any.

$constraint->has_parent

Returns true if the type has a parent type.

$constraint->parents

Returns all of the types parents as an list of type constraint objects.

$constraint->constraint

Returns the type's constraint, as provided to the constructor.

$constraint->get_message($value)

This generates a method for the given value. If the type does not have an explicit message, we generate a default message.

$constraint->has_message

Returns true if the type has a message.

$constraint->message

Returns the type's message as a subroutine reference.

$constraint->coercion

Returns the type's the Moose::Meta::TypeCoercion manpage object, if one exists.

$constraint->has_coercion

Returns true if the type has a coercion.

$constraint->can_be_inlined

Returns true if this type constraint can be inlined. A type constraint which subtypes an inlinable constraint and does not add an additional constraint ``inherits'' its parent type's inlining.

$constraint->create_child_type(%options)

This returns a new type constraint of the same class using the provided %options. The parent option will be the current type.

This method exists so that subclasses of this class can override this behavior and change how child types are created.


BUGS

See Moose/BUGS for details on reporting bugs.


AUTHORS


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.

Perl Diver brought to you by ScriptSolutions.com © 1997- 2024