diff Lib/IMPL/Class/Meta.pm @ 180:d1676be8afcc

Перекодировка в utf-8
author sourcer
date Fri, 30 Dec 2011 23:40:00 +0300
parents aaab45153411
children 4d0e1962161c
line wrap: on
line diff
--- a/Lib/IMPL/Class/Meta.pm	Tue Dec 20 23:00:30 2011 +0300
+++ b/Lib/IMPL/Class/Meta.pm	Fri Dec 30 23:40:00 2011 +0300
@@ -10,8 +10,8 @@
     my ($class,$meta_data) = @_;
     $class = ref $class if ref $class;
     
-    #     ,    
-    #  IMPL::Object::Accessor,     
+    # тут нельзя использовать стандартное исключение, поскольку для него используется
+    # класс IMPL::Object::Accessor, который наследуется от текущего класса
     die "The meta_data parameter should be an object" if not ref $meta_data;
     
     push @{$class_meta{$class}{ref $meta_data}},$meta_data;
@@ -99,7 +99,7 @@
 
 =head1 NAME
 
-C<IMPL::Class::Meta> -     .
+C<IMPL::Class::Meta> - информация хранимая на уровне класса.
 
 =head1 SYNOPSIS
 
@@ -145,10 +145,10 @@
 
 =head1 DESCRIPTION
 
-     ()   ,    ,
-       (),      .
+Позвоялет расширять информацию о типах (класса) при помощи метаданных, метаданными являются любые объекты,
+притом выборка метаданных приоизводится по их типу (классу), что позволяет выбрать все однотипные метаданные.
 
-         
+Существует возможность выборки метаданных с учетом унаследованных от базовых классов
 
 =head1 MEMBERS
 
@@ -156,25 +156,25 @@
 
 =item C<set_meta($meta_data)>
 
-  C<$meta_data>  .
+Добавляет метаданные C<$meta_data> к классу.
 
 =item C<get_meta($meta_class,$predicate,$deep)>
 
-   C<$meta_class>   ,     
-  .
+Выбирает метаданные типа C<$meta_class> и его наследников, с возможностью фильтрации и получения
+метаданных базовых классов.
 
 =over
 
 =item C<$meta_class>
 
- 
+Тип метаданных
 
 =item C<$predicate>
 
-,           
-        .    
-  ,  C<true> -    , C<false> - 
-   .   C<$_>      .
+Подпрограмма, которая будет вызываться для каждых найденных метаданных и на основе результата
+ее выполнения метаданные будут включены в результат или нет. Получеат в качестве параметра
+объект с метаданными, возвращает C<true> - включить метаданные в результа, C<false> - пропустить
+метаданные как не подходящие. Также переменная C<$_> ссылается на текущий объект с метаданными.
 
 =begin code
 
@@ -197,20 +197,20 @@
  
 =item C<$deep>
 
-    .
+Осуществлять поиск по базовым классам.
 
 =back  
 
 =item C<class_data($name,$new_value)>
 
-   , C<class_data>   ,
-        C<$name>.
+В отличии от метаданных, C<class_data> не накапливает информацию,
+а хранит только один экземпляр для одного ключа C<$name>.
 
-    ,    ,
-      ,     
-,         
- .       -,
-      .
+Если новое значение не задано, то осуществляется выборка сохраненного,
+если текущий класс не имеет сохраненного значения, то оно ищется в базовых
+классах, затем копия найденного значения сохраняется в текущем классе и
+возвращается наружу. Это позволяет базовым классам задавать значение по-умолчанию,
+которые могут быть изменены или заменены субклассами.
 
 =begin code
 
@@ -240,11 +240,11 @@
 
 =item C<static_accessor($name[,$value])>
 
-     C<$name>    C<$value>.
+Создает статическое свойство с именем C<$name> и начальным значением C<$value>.
 
-     C<class_data>,  
-,  C<class_data> ,      ,
-      ,  .
+Использование данного свойство аналогично использованию C<class_data>, за исключением
+того, что C<class_data> гарантирует, что наследник обладает собственной копией данных,
+изменение которых не коснется ни базового класса, ни соседей.
 
 =begin code