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.