Mercurial > pub > Impl
diff Lib/IMPL/Web/QueryHandler.pm @ 65:2840c4c85db8
Application configuration improvements
Documentation
author | wizard |
---|---|
date | Tue, 16 Mar 2010 17:36:13 +0300 |
parents | c64bd1bf727d |
children | 9d24db321029 |
line wrap: on
line diff
--- a/Lib/IMPL/Web/QueryHandler.pm Mon Mar 15 17:45:13 2010 +0300 +++ b/Lib/IMPL/Web/QueryHandler.pm Tue Mar 16 17:36:13 2010 +0300 @@ -1,6 +1,6 @@ package IMPL::Web::QueryHandler; -use base qw(IMPL::Object IMPL::Object::Autofill); +use base qw(IMPL::Object IMPL::Object::Autofill IMPL::Object::Serializable); use IMPL::Class::Property; __PACKAGE__->PassThroughArgs; @@ -10,7 +10,7 @@ sub Invoke { my ($self,$action,$nextHandler) = @_; - if (not ref $self or UNIVERSAL::isa($self,'IMPL::Object::Factory')) { + if (not ref $self) { return $self->new( action => $action )->Invoke($action,$nextHandler); } else { return $self->Process($action,$nextHandler); @@ -27,10 +27,32 @@ =pod -=head1 DESCRIPTION +=head1 NAME Базовый класс для обработчиков запросов. +=head1 SYNOPSIS + +Простой вариант + +=begin code + +package MyHandler; + +use base qw(IMPL::Web::QueryHandler); + +sub CTOR { + my ($this,%args) = @_; + +} + +sub Process { + my ($this,$action,$nextHandler) = @_; + +} + +=end code + =head1 MEMBERS =over 4 @@ -38,16 +60,26 @@ =item C< Invoke($action,$nextHandler) > Вызывается механизмом обработки запроса, для передачи управления обработчику. Данная реализация -проверяет как была вызвана, если как статический метод, то создает экземпляр класса и вызывает +проверяет контекст вызова, если как статический метод, то создает экземпляр класса и вызывает у созданного объекта метод C< Invoke > с параметрами C< $action >, C< $nextHandler >. -Если метод был вызван у объекта, то управление передается методу C< Process > +При создании нового объекта в конструктор передается именованый параметр C<action>. + +Если метод был вызван у объекта, то управление передается методу C< Process >. + +=over -C< $action > Экземпляр запроса +=item C< $action > + +Экземпляр запроса -C< $nextHandler > Делегат для вызова следующего обработчика. Вызывается без параметров, но следующему обработчику +=item C< $nextHandler > + +Делегат для вызова следующего обработчика. Вызывается без параметров, но следующему обработчику втоматически будут переданы необходимые параметры. =back +=back + =cut \ No newline at end of file