Declare::Constraints::Simple::Library::OO - OO Constraints


NAME

Declare::Constraints::Simple::Library::OO - OO Constraints


SYNOPSIS

  # accept objects or classes
  my $object_or_class = Or( IsObject, IsClass );
  # valid on objects with all methods
  my $proper_object = And( IsObject, 
                           HasMethods( qw(foo bar) ));
  # validate against date objects
  my $is_date_object = IsA('DateTime');


DESCRIPTION

This library contains the constraints for validating parameters in an object oriented manner.


CONSTRAINTS

HasMethods(@methods)

Returns true if the value is an object or class that can all the specified @methods.

The stack or path part of HasMethods looks like HasMethods[$method] where $method is the first found missing method.

IsA(@classes)

Is true if the passed object or class is a subclass of one of the classes mentioned in @classes.

IsClass()

Valid if value is a loaded class.

IsObject()

True if the value is blessed.


SEE ALSO

the Declare::Constraints::Simple manpage, the Declare::Constraints::Simple::Library manpage


AUTHOR

Robert 'phaylon' Sedlacek <phaylon@dunkelheit.at>


LICENSE AND COPYRIGHT

This module is free software, you can redistribute it and/or modify it under the same terms as perl itself.