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