NAME

App::Framework::Feature - Application feature

SYNOPSIS

use App::Framework::Feature ;

DESCRIPTION

Provides the base object from which all features must be derived.

FIELDS

The following fields should be defined either in the call to 'new()', as part of a 'set()' call, or called by their accessor method (which is the same name as the field):

app - Parent application

Set by App::Framework as a reference to the application object. If this is not set, then the feature will skip any application-specific logic (allowing a feature to be used in the user part of an application as a stand alone object).

registered - list of registered application functions

ARRAY ref to list of functions that this feature wants to register in the application. When a registered function is called by the framework, then the feature's method (of the same name) is also called.

Function name is of the form <name>_entry (called at the start of <name>) or <name>_exit (called at the end of <name>)

name - feature name

Set to the feature name (by the App::Framework). This is the name used by the application to access the feature

CONSTRUCTOR

new([%args])

Create a new feature.

The %args are specified as they would be in the set method.

CLASS METHODS

init_class([%args])

Initialises the object class variables.

allowed_class_instance()

Returns 0 since this class can not have a class instance object

OBJECT DATA METHODS

OBJECT METHODS

register_app()

Registers this feature with the parent application framework (if specified)

access([%args])

Provides access to the feature. This default method is equivalent to:

$feature->set(%args);
return $feature ;

Derived features may override this method to return object data, execute code etc.

DIAGNOSTICS

Setting the debug flag to level 1 prints out (to STDOUT) some debug messages, setting it to level 2 prints out more verbose messages.

AUTHOR

Steve Price <sdprice at cpan.org>

BUGS

None that I know of!