comparison Lib/IMPL/Class/MemberInfo.pm @ 163:6ce1f052b90a

temp commit
author wizard
date Tue, 15 Mar 2011 02:32:42 +0300
parents 44977efed303
children 76515373dac0
comparison
equal deleted inserted replaced
162:39c8788eded5 163:6ce1f052b90a
1 package IMPL::Class::MemberInfo; 1 package IMPL::Class::MemberInfo;
2 use strict; 2 use strict;
3 use IMPL::_core::version;
3 use base qw(IMPL::Object::Accessor); 4 use base qw(IMPL::Object::Accessor);
4 5
5 require IMPL::Exception; 6 require IMPL::Exception;
6 require IMPL::Class::Member; 7 require IMPL::Class::Member;
7 8
36 $this->Frozen(1); 37 $this->Frozen(1);
37 $this->Class->set_meta($this); 38 $this->Class->set_meta($this);
38 return; 39 return;
39 } 40 }
40 41
41 #TODO: Debug version 42 1;
42 #sub set {
43 # my $this = shift;
44 # if ($this->Frozen) {
45 # die new IMPL::Exception('The member information is frozen', $this->Name);
46 # }
47 # $this->SUPER::set(@_);
48 #}
49 43
50 1; 44 __END__
45
46 =pod
47
48 =head1 NAME
49
50 C<IMPL::Class::MemberInfo> - информация о члене класса.
51
52 =head1 DESCRIPTION
53
54 Данный класс является базовым для таких классов как C<IMPL::Class::PropertyInfo>, C<IMPL::Class::MethodInfo> и
55 предназначен для хренения метаданных.
56
57 Данный класс наследуется от C<IMPL::Object::Accessor> и не содержит в себе метаданных о своих членах.
58
59 =head1 MEMBERS
60
61 =over
62
63 =item C<[get,set] Name>
64
65 Имя члена.
66
67 =item C<[get,set] Access>
68
69 Default public.
70
71 Атрибут доступа ( public | private | protected )
72
73 =item C<[get,set] Virtual>
74
75 Default false.
76
77 Флаг виртуальности.
78
79 =item C<[get,set] Class>
80
81 Класс владелец
82
83 =item C<[get,set] Frozen>
84
85 Флаг невозможности внесения изменений
86
87 =item C<[get,set] Attributes>
88
89 Дополнительные атрибуты
90
91 =item C<Implement()>
92
93 Устанавливает C<Frozen> в C<1>, добавляет в метаданные класса.
94
95 При реализации собственного субкласса, данный метод может быть переопределен для
96 реализации дополнительной обработки (например, создание методов доступа для свойств).
97
98 =back
99
100 =cut