Mercurial > pub > Impl
comparison Lib/IMPL/Web/Application/OperationContract.pm @ 228:431db7034a88
Для синхронизации
author | andrei <andrei@nap21.upri> |
---|---|
date | Thu, 13 Sep 2012 17:55:01 +0400 |
parents | |
children | 47f77e6409f7 |
comparison
equal
deleted
inserted
replaced
227:70ad6bc20908 | 228:431db7034a88 |
---|---|
1 package IMPL::Web::Application::OperationContract; | |
2 use strict; | |
3 | |
4 use IMPL::declare { | |
5 base => [ | |
6 'IMPL::Object' => undef, | |
7 'IMPL::Object::Autofill' => '@_' | |
8 ], | |
9 props => [ | |
10 binding => PROP_ALL, | |
11 response => PROP_ALL | |
12 ] | |
13 }; | |
14 | |
15 sub Invoke { | |
16 my ($this, $resource, $httpAction) = @_; | |
17 | |
18 if ($this->) | |
19 | |
20 } | |
21 | |
22 1; | |
23 | |
24 __END__ | |
25 | |
26 =pod | |
27 | |
28 =head1 NAME | |
29 | |
30 C<IMPL::Web::Application::OperationContract> - Описание операции над | |
31 веб-ресурсом. | |
32 | |
33 =head1 SYNOPSIS | |
34 | |
35 =begin code | |
36 | |
37 use IMPL::require { | |
38 'OperationContract' => 'IMPL::Web::Application::OperationContract', | |
39 'RedirectResponse' => 'IMPL::Web::Application::RedirectResponse' | |
40 }; | |
41 | |
42 my $operation = OperationContract->new( | |
43 bind => sub { | |
44 my ($resource,$model,$itemName) = @_; | |
45 | |
46 return $model->findItem($itemName); | |
47 }, | |
48 response => RedirectResponse->new( | |
49 locator => $relativeLocator | |
50 ) | |
51 ); | |
52 | |
53 my $response = $operation->InvokeOperation($resource); | |
54 | |
55 =end code | |
56 | |
57 =head1 DESCRIPTION | |
58 | |
59 Связывает методы предметной области с операциями над ресурсами. Для связи с | |
60 моделью используется функция, которой будут переданы параметры: | |
61 | |
62 =over | |
63 | |
64 =item C<$reousrce> Ресурс для которого выполняется операция | |
65 | |
66 =item C<$model> Объект модели данных, связанный с данным ресурсом, тоже, что | |
67 и C<<>$resource->model>> только для краткости | |
68 | |
69 =item C<$action> Контекст текущего C<HTTP> запроса. | |
70 | |
71 =back | |
72 | |
73 Результат выполнения будет передан дополнительному обработчику C<response>, | |
74 который выполнит необходимое преобразование. | |
75 | |
76 =head1 MEMBERS | |
77 | |
78 =cut |