NAME

Argon - Common methods used by many application classes.

SYNOPSIS

package MyApplication; @MyApplication::ISA = qw(BingoX::Argon); use BingoX::Argon;

  # $BR - Blessed Reference
  # $SV - Scalar Value
  # @AV - Array Value
  # $HR - Hash Ref
  # $AR - Array Ref
  # $SR - Stream Ref

  # $proto - BingoX::Carbon object OR sub-class
  # $object - BingoX::Carbon object

  $BR = $proto->new()
  $BR = $app->r()
  $BR = $app->dbh()
  $BR = $app->cgi()
  $BR = $app->conf()
        $app->include()
        $app->xinclude()
  $HR = $app->display_classes()
  $BR = $app->get()
  $AR = $app->list()
  $SR = $app->stream()

REQUIRES

Apache::XPP

EXPORTS

Nothing

DESCRIPTION

BingoX::Argon is an application superclass that handles basic tasks like returning display objects, handling xincludes, and caching request and cgi objects.

I'm hoping it won't do too much else: Display classes have to do SOMETHING, don't they?

CLASS VARIABLES

  • %display_classes

    This is how Argon will know what classes it can call. The keys are the name of the function and the value is the class name.

    For example: %display_classes = (thingees => 'Application::Display::Thingee');

    You can then call get_ , list_ , or stream_thingees(), passing a hashref of the data fields by which you want to limit your search.

METHODS

CONSTRUCTORS

new ( [ \%data ] )

Creates a new Application object.

OBJECT METHODS

r ( )

returns the Display object's Apache request object. Or if for some reason the object doesn't have one, it creates a new one.

available_display_classes ( )

Static method returns the subclass's \%display_classes.

data_class ( )

Static method returns data class defined for application subclass. If none is assigned, guess. :-)

dbh ( )

Caches and returns a reference to the app's Data Class dbh.

cgi ( )

Returns the current CGI object or creates a new one.

conf ( )

Caches and returns a Conf object. Overload this if you want to use a static Conf module.

query_url ( )

Returns the path of the user's location.

param ( $name )

Returns cgi params.

escape ( $name )

Returns cgi escape.

delete ( $name )

Deletes from the cgi params.

include ( $template )

Forwarding method:

Calls Apache::XPP->include() and passes it the $template.

xinclude ( $template [, $obj ] )

Forwarding method:

Includes $obj in the $template. Calls Apache::XPP-xinclude()> and passes it the default array.

AUTOLOAD ( )

This will first look in instance data, then go through the sub class's %display_classes field and see if it's in %display_classes reference. If it is, it will try and get it using passed params.

Returns undef on error.

REVISION HISTORY

 $Log: Argon.pm,v $
 Revision 2.9  2001/11/20 19:11:14  gefilte
 AUTOLOAD()
        - named method splitting set to '2' results.  (This was breaking names which intentionally contained underscores, since the split parts were not captured.)
        - fully qualified left over 'Dumper' call

 Revision 2.8  2000/12/12 18:48:01  useevil
  - updated version for new release:  1.92

 Revision 2.7  2000/10/20 17:23:18  gefilte
 Removed Data::Dumper requirement.  (Only loaded if $debug is on.)

 Revision 2.6  2000/10/20 00:28:24  zhobson
 Added some useful debug messages to AUTOLOAD

 Revision 2.5  2000/09/19 23:40:00  dweimer
 Version update 1.91

 Revision 2.4  2000/08/31 21:54:18  greg
 Added COPYRIGHT information.
 Added file COPYING (LGPL).
 Cleaned up POD.
 Moved into BingoX namespace.
 References to Bingo::XPP now point to Apache::XPP.

 "To the first approximation, syntactic sugar is trivial to implement.
  To the second approximation, the first approximation is totally bogus."
    -Larry Wall

 Revision 2.3  2000/08/01 00:38:28  thai
  - added cgi accessor methods:
    query_url()
    param()
    escape()
    delete()

 Revision 2.2  2000/07/12 19:28:21  thai
  - fixed POD, cleaned up code

 Revision 2.1  2000/05/19 01:22:56  thai
  - cleaned up code
  - is the top level class for all Bingo Applications

 Revision 2.0  2000/05/02 00:54:33  thai
  - committed as 2.0

THOUGHTS, LYRICS, POEMS, CANTRIPS, RHYMES

"Ray, when someone asks you if you're a god, you say YES!"

    -Winston

SEE ALSO

perl(1).

KNOWN BUGS

None

COPYRIGHT

    Copyright (c) 2000, Cnation Inc. All Rights Reserved. This module is free
    software. It may be used, redistributed and/or modified under the terms
    of the GNU Lesser General Public License as published by the Free Software
    Foundation.

    You should have received a copy of the GNU Lesser General Public License
    along with this library; if not, write to the Free Software Foundation, Inc.,
    59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

AUTHOR

Colin Bielen <colin@cnation.com>