1 package MooseX::Types::TypeDecorator;
6 use Moose::Util::TypeConstraints;
9 shift->type_constraint->name;
12 my @names = grep {$_} map {"$_"} @_;
13 ## Don't know why I can't use the array version of this... If someone
14 ## knows would like to hear from you.
15 my $names = join('|', @names);
16 Moose::Util::TypeConstraints::create_type_constraint_union($names);
22 MooseX::Types::TypeDecorator - More flexible access to a Type Constraint
26 This is a decorator object that contains an underlying type constraint. We use
27 this to control access to the type constraint and to add some features.
31 This class defines the following methods.
35 Old school instantiation
40 my ($class, %args) = @_;
41 return bless \%args, $class;
44 =head type_constraint ($type_constraint)
46 Set/Get the type_constraint.
52 if(defined(my $tc = shift @_)) {
53 $self->{type_constraint} = $tc;
55 return $self->{type_constraint};
60 We might need it later
70 Delegate to the decorator targe
75 my ($method) = (our $AUTOLOAD =~ /([^:]+)$/);
76 return shift->type_constraint->$method(@_);
79 =head1 AUTHOR AND COPYRIGHT
81 John Napiorkowski (jnapiorkowski) <jjnapiork@cpan.org>
85 This program is free software; you can redistribute it and/or modify
86 it under the same terms as perl itself.