XAO::DO::Web::Action - base for mode-dependant displayable objects
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); } }
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.
Nothing.
Copyright (c) 2005 Andrew Maltsev
Copyright (c) 2001-2004 Andrew Maltsev, XAO Inc.
<am@ejelta.com> -- http://ejelta.com/xao/
Recommended reading: XAO::Web, XAO::DO::Web::Page.
To install XAO::Web, copy and paste the appropriate command in to your terminal.
cpanm
cpanm XAO::Web
CPAN shell
perl -MCPAN -e shell install XAO::Web
For more information on module installation, please visit the detailed CPAN module installation guide.