view Lib/IMPL/Web/QueryHandler.pm @ 120:41e9d9ea3db5

Merge with 79cdd6c86409806bd1de092d9f0fb2b048775720
author wizard
date Mon, 07 Jun 2010 17:45:14 +0400 (2010-06-07)
parents 9d24db321029
children 4267a2ac3d46
line wrap: on
line source
package IMPL::Web::QueryHandler;

use base qw(IMPL::Object IMPL::Object::Autofill IMPL::Object::Serializable);
use IMPL::Class::Property;

__PACKAGE__->PassThroughArgs;

use IMPL::Exception;

sub Invoke {
	my ($self,$action,$nextHandler) = @_;
	
	if (not ref $self) {
		return $self->new( action => $action )->Invoke($action,$nextHandler);
	} else {
		return $self->Process($action,$nextHandler);
	}
}

sub Process {
	die new IMPL::NotImplementedException("The method isn't implemented", __PACKAGE__, 'Process');
}

1;

__END__

=pod

=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

=item C< Invoke($action,$nextHandler) >

���������� ���������� ��������� �������, ��� �������� ���������� �����������. ������ ����������
��������� �������� ������, ���� ��� ����������� �����, �� ������� ��������� ������ � ��������
� ���������� ������� ����� C< Invoke > � ����������� C< $action >, C< $nextHandler >.

��� �������� ������ ������� � ����������� ���������� ���������� �������� C<action>. 

���� ����� ��� ������ � �������, �� ���������� ���������� ������ C< Process >.

=over

=item C< $action >

��������� �������

=item C< $nextHandler >

������� ��� ������ ���������� �����������. ���������� ��� ����������, �� ���������� �����������
������������ ����� �������� ����������� ���������.

=back

=back

=cut