Mercurial > pub > Impl
annotate Lib/IMPL/Object/Meta.pm @ 107:0e72ad99eef7
Updated Web::TT
| author | wizard | 
|---|---|
| date | Thu, 13 May 2010 03:46:29 +0400 | 
| parents | 76b878ad6596 | 
| children | 42fbb38d4a48 | 
| rev | line source | 
|---|---|
| 49 | 1 package IMPL::Object::Meta; | 
| 2 use strict; | |
| 3 use warnings; | |
| 4 | |
| 5 use base qw(IMPL::Object); | |
| 6 use IMPL::Class::Property; | |
| 7 use IMPL::Class::Property::Direct; | |
| 8 | |
| 9 BEGIN { | |
| 63 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 10 public _direct property Container => prop_get | owner_set; | 
| 49 | 11 } | 
| 12 | |
| 13 sub meta { | |
| 14 my $class = shift; | |
| 15 my $caller = caller; | |
| 16 my $meta = $class->surrogate(); | |
| 63 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 17 $meta->IMPL::Object::Meta::Container(caller); | 
| 49 | 18 $meta->callCTOR(@_); | 
| 19 $caller->set_meta($meta); | |
| 20 } | |
| 21 | |
| 63 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 22 1; | 
| 49 | 23 | 
| 63 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 24 __END__ | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 25 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 26 =pod | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 27 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 28 =head1 SYNOPSIS | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 29 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 30 package Foo; | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 31 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 32 meta BarAttribute('Simple bar attribute'); #mark Foo with BarAttribute | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 33 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 34 =head1 DESCRIPTION | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 35 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 36 Базовый класс для мета-свойств класса. Определяет оператор C< meta > для создания метаданных в вызвавшем классе. | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 37 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 38 =head1 MEMBERS | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 39 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 40 =over | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 41 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 42 =item C< Container > | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 43 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 44 Свойство заполняется до вызова конструктора и содержит имя модуля к которому применяется атрибут. | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 45 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 46 =back | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 47 | 
| 
76b878ad6596
Added serialization support for the IMPL::Object::List
 wizard parents: 
49diff
changeset | 48 =cut | 
