Mercurial > pub > Impl
comparison Lib/IMPL/Web/Application/CustomResource.pm @ 248:814d755e5d12
Minor fixes
| author | sergey |
|---|---|
| date | Tue, 06 Nov 2012 00:58:15 +0400 |
| parents | abc7c26bf615 |
| children | 9b25e1f50144 |
comparison
equal
deleted
inserted
replaced
| 247:2270de2469ff | 248:814d755e5d12 |
|---|---|
| 3 | 3 |
| 4 use IMPL::Const qw(:prop); | 4 use IMPL::Const qw(:prop); |
| 5 | 5 |
| 6 use IMPL::declare { | 6 use IMPL::declare { |
| 7 require => { | 7 require => { |
| 8 Factory => 'IMPL::Object::Factory', | |
| 8 CustomResourceContract => 'IMPL::Web::Application::CustomResourceContract' | 9 CustomResourceContract => 'IMPL::Web::Application::CustomResourceContract' |
| 9 }, | 10 }, |
| 10 base => [ | 11 base => [ |
| 11 'IMPL::Web::Application::Resource' => '@_' | 12 'IMPL::Web::Application::Resource' => '@_' |
| 12 ] | 13 ] |
| 28 $self->contractFactory->new( | 29 $self->contractFactory->new( |
| 29 resourceFactory => $self, | 30 resourceFactory => $self, |
| 30 resources => [ $self->GetChildResources() ] | 31 resources => [ $self->GetChildResources() ] |
| 31 ) | 32 ) |
| 32 ); | 33 ); |
| 34 } | |
| 35 | |
| 36 sub CreateContract { | |
| 37 my ($self, %args) = @_; | |
| 38 | |
| 39 $self->contractFactory->new( | |
| 40 resourceFactory => Factory->new( | |
| 41 $self, | |
| 42 \%args | |
| 43 ), | |
| 44 resources => [ $self->GetChildResources() ] | |
| 45 ) | |
| 33 } | 46 } |
| 34 | 47 |
| 35 sub GetChildResources { | 48 sub GetChildResources { |
| 36 | 49 |
| 37 } | 50 } |
| 88 | 101 |
| 89 =head2 C<[static]InitContract()> | 102 =head2 C<[static]InitContract()> |
| 90 | 103 |
| 91 Создает новый экземпляр контракта, используя фабрику из свойства C<contractFactory>. | 104 Создает новый экземпляр контракта, используя фабрику из свойства C<contractFactory>. |
| 92 | 105 |
| 106 =head2 C<[static]CreateContract(%args)> | |
| 107 | |
| 108 Создает новый контракт, который при создании ресурсов будет передавать им в | |
| 109 конструкторе параметры C<%args>. Реализуется при помощи C<IMPL::Object::Factory> | |
| 110 которой задается параметр ссылка на C<%args>, т.о. при создании ресурса, ему в | |
| 111 конструкторе будет передан список из ключей и значений хеша C<%args>, а затем | |
| 112 остальные аргументы. | |
| 113 | |
| 93 =head2 C<[static]GetChildResources()> | 114 =head2 C<[static]GetChildResources()> |
| 94 | 115 |
| 95 Статический метод, который должны переопределять новые классы ресурсов, у | 116 Статический метод, который должны переопределять новые классы ресурсов, у |
| 96 которых есть дочерние ресурсы. | 117 которых есть дочерние ресурсы. |
| 97 | 118 |
