NAME
XAO::DO::Web::Action - base for mode-dependant displayable objects
SYNOPSIS
package XAO::DO::Web::Fubar;
use strict;
use XAO::Objects;
use XAO::Errors qw(XAO::DO::Web::Fubar);
use base XAO::Objects->load(objname => 'Web::Action');
sub check_mode ($$) {
my $self=shift;
my $args=get_args(\@_);
my $mode=$args->{mode};
if($mode eq "foo") {
$self->foo($args);
}
elsif($mode eq "kick") {
$self->kick($args);
}
else {
$self->SUPER::check_mode($args);
}
}
DESCRIPTION
Very simple object with overridable check_mode method. Simplifies implementation of objects with arguments like:
<%Fubar mode="kick" target="ass"%>
Default check_mode() method does not have any functionality and always simply throws an error with the content of 'mode':
throw $self "check_mode - unknown mode ($mode)";
Remember that using "throw $self" you actually throw an error that depends on the namespace of your object and therefor can be caught separately if required.
EXPORTS
Nothing.
AUTHOR
Copyright (c) 2000-2002 XAO Inc.
Andrew Maltsev <am@xao.com>.
SEE ALSO
Recommended reading: XAO::Web, XAO::DO::Web::Page.