Toby Inkster > Type-API-0.001 > Type::API::Constraint

Download:
Type-API-0.001.tar.gz

Annotate this POD

Website

View/Report Bugs
Source   Latest Release: Type-API-0.002

NAME ^

Type::API::Constraint - a rule that a value can be checked against, to determine whether it passes or fails

INTERFACE ^

Implementations of this interface are objects and MUST provide the following methods:

$constraint->check($value)

Checks that the value meets the constraint. Under normal operation should return true or false to indicate a pass or failure.

Exceptions should not be thrown when a value simply fails the constraint, but may be used for other exceptional conditions. (For example, if the check requires a database lookup to determine pass or failure, but the database is unavailable.)

$constraint->get_message($value)

Generates an message explaining that the value has failed the type constraint, and returns this messages as a string. This method does not need to check whether the value genuinely fails the constraint; it can assume that the check method has already been called.

Implementations MAY advertise that they support this interface by returning true for $constraint->DOES("Type::API::Constraint").

SEE ALSO ^

Implementations

The following CPAN classes are known to implement Type::API::Constraint:

Consumers

Some tools can make use of objects implementing Type::API::Constraint:

Others, such as Moose and Mouse require type constraints that implement a superset of this functionality.

AUTHOR ^

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE ^

This software is copyright (c) 2013 by Toby Inkster.

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

DISCLAIMER OF WARRANTIES ^

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

syntax highlighting: