Commit | Line | Data |
f785aad8 |
1 | package Moose::Meta::Mixin::AttributeCore; |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
d874ffad |
6 | our $VERSION = '1.20'; |
f785aad8 |
7 | our $AUTHORITY = 'cpan:STEVAN'; |
8 | |
9 | use base 'Class::MOP::Mixin::AttributeCore'; |
10 | |
11 | __PACKAGE__->meta->add_attribute( 'isa' => ( reader => '_isa_metadata' ) ); |
12 | __PACKAGE__->meta->add_attribute( 'does' => ( reader => '_does_metadata' ) ); |
13 | __PACKAGE__->meta->add_attribute( 'is' => ( reader => '_is_metadata' ) ); |
14 | |
15 | __PACKAGE__->meta->add_attribute( 'required' => ( reader => 'is_required' ) ); |
16 | __PACKAGE__->meta->add_attribute( 'lazy' => ( reader => 'is_lazy' ) ); |
17 | __PACKAGE__->meta->add_attribute( |
18 | 'lazy_build' => ( reader => 'is_lazy_build' ) ); |
19 | __PACKAGE__->meta->add_attribute( 'coerce' => ( reader => 'should_coerce' ) ); |
20 | __PACKAGE__->meta->add_attribute( 'weak_ref' => ( reader => 'is_weak_ref' ) ); |
21 | __PACKAGE__->meta->add_attribute( |
22 | 'auto_deref' => ( reader => 'should_auto_deref' ) ); |
23 | __PACKAGE__->meta->add_attribute( |
24 | 'type_constraint' => ( |
25 | reader => 'type_constraint', |
26 | predicate => 'has_type_constraint', |
27 | ) |
28 | ); |
29 | __PACKAGE__->meta->add_attribute( |
30 | 'trigger' => ( |
31 | reader => 'trigger', |
32 | predicate => 'has_trigger', |
33 | ) |
34 | ); |
35 | __PACKAGE__->meta->add_attribute( |
36 | 'handles' => ( |
37 | reader => 'handles', |
38 | writer => '_set_handles', |
39 | predicate => 'has_handles', |
40 | ) |
41 | ); |
42 | __PACKAGE__->meta->add_attribute( |
43 | 'documentation' => ( |
44 | reader => 'documentation', |
45 | predicate => 'has_documentation', |
46 | ) |
47 | ); |
48 | |
49 | 1; |
50 | |
51 | __END__ |
52 | |
53 | =pod |
54 | |
55 | =head1 NAME |
56 | |
57 | Moose::Meta::Mixin::AttributeCore - Core attributes shared by attribute metaclasses |
58 | |
59 | =head1 DESCRIPTION |
60 | |
61 | This class implements the core attributes (aka properties) shared by all Moose |
62 | attributes. See the L<Moose::Meta::Attribute> documentation for API details. |
63 | |
c5fc2c21 |
64 | =head1 BUGS |
65 | |
66 | See L<Moose/BUGS> for details on reporting bugs. |
67 | |
f785aad8 |
68 | =head1 AUTHORS |
69 | |
70 | Dave Rolsky E<lt>autarch@urth.orgE<gt> |
71 | |
72 | =head1 COPYRIGHT AND LICENSE |
73 | |
7e0492d3 |
74 | Copyright 2006-2010 by Infinity Interactive, Inc. |
f785aad8 |
75 | |
76 | L<http://www.iinteractive.com> |
77 | |
78 | This library is free software; you can redistribute it and/or modify |
79 | it under the same terms as Perl itself. |
80 | |
81 | =cut |