diff Lib/IMPL/Class/MemberInfo.pm @ 275:6253872024a4

*refactoring IMPL::Class
author cin
date Thu, 31 Jan 2013 02:18:31 +0400
parents 2904da230022
children 4ddb27ff4a0b
line wrap: on
line diff
--- a/Lib/IMPL/Class/MemberInfo.pm	Wed Jan 30 03:30:28 2013 +0400
+++ b/Lib/IMPL/Class/MemberInfo.pm	Thu Jan 31 02:18:31 2013 +0400
@@ -6,12 +6,11 @@
 
 __PACKAGE__->mk_accessors(
     qw(
-        Name
-        Access
-        Class
-        Frozen
-        Implementor
-        Attributes
+        name
+        access
+        class
+        implementor
+        attributes
     )
 );
 __PACKAGE__->PassThroughArgs;
@@ -19,30 +18,20 @@
 sub CTOR {
     my $this = shift;
     
-    die new IMPL::Exception('The name is required for the member') unless $this->Name;
-    die new IMPL::Exception('The class is required for the member') unless $this->Class;
+    die new IMPL::Exception('The name is required for the member') unless $this->name;
+    die new IMPL::Exception('The class is required for the member') unless $this->class;
     
-    $this->Attributes({}) unless defined $this->Attributes;
-    $this->Frozen(0);
-    $this->Access(3) unless $this->Access;
+    $this->attributes({}) unless defined $this->attributes;
+    $this->access(3) unless $this->access;
 }
 
 sub Implement {
     my ($this) = @_;
-    $this->Implementor->Make($this);
-    $this->Frozen(1);
-    $this->Class->set_meta($this);
+    $this->implementor->Make($this);
+    $this->class->set_meta($this);
     return;
 }
 
-sub access {
-    goto &Access;
-}
-
-sub name {
-    goto &Name;
-}
-
 1;
 
 __END__
@@ -64,32 +53,26 @@
 
 =over
 
-=item C<[get,set] Name>
+=item C<[get,set] name>
 
 Имя члена.
 
-=item C<[get,set] Access>
+=item C<[get,set] access>
 
 Default public.
 
 Атрибут доступа ( public | private | protected )
 
-=item C<[get,set] Class>
+=item C<[get,set] class>
 
 Класс владелец
         
-=item C<[get,set] Frozen>
-
-Флаг невозможности внесения изменений
-
-=item C<[get,set] Attributes>
+=item C<[get,set] attributes>
 
 Дополнительные атрибуты
 
 =item C<Implement()>
 
-Устанавливает C<Frozen> в C<1>, добавляет в метаданные класса.
-
 При реализации собственного субкласса, данный метод может быть переопределен для
 реализации дополнительной обработки (например, создание методов доступа для свойств).