NAME
App::Service - Provides core methods for App-Context Services
SYNOPSIS
use App::Service;
# never really used, because this is a base class
%named = (
# named args would go here
);
$service = App::Service->new(%named);
DESCRIPTION
The App::Service class is a base class for all App-Context services.
* Throws: App::Exception
* Since: 0.01
Constructor Methods:
new()
This constructor is used to create all objects which are App-Context services. Customized behavior for a particular service is achieved by overriding the init() method.
* Signature: $service = App::Service->new(%named)
* Return: $service App::Service
* Throws: App::Exception
* Since: 0.01
Sample Usage: (never used because this is a base class, but the
constructors of all services follow these rules)
* If the number of arguments is odd, the first arg is the service name
(otherwise, "default" is assumed)
* If there are remaining arguments, they are variable/value pairs
* If there are no arguments at all, the "default" name is assumed
* If a "name" was supplied using any of these methods,
the master config is consulted to find the config for this
particular service instance (service_type/name).
$service = App::Service->new(); # assumes "default" name
$service = App::Service->new("srv1"); # instantiate named service
$service = App::Service->new( # "default" with named args
arg1 => 'value1',
arg2 => 'value2',
);
service_type()
Returns the service type (i.e. CallDispatcher, Repository, SessionObject, etc.).
* Signature: $service_type = App::Service->service_type();
* Param: void
* Return: $service_type string
* Since: 0.01
$service_type = $service->service_type();
content()
* Signature: $content = $self->content();
* Param: void
* Return: $content any
* Throws: App::Exception
* Since: 0.01
$content = $so->content();
if (ref($content)) {
App::Reference->print($content);
print "\n";
}
else {
print $content, "\n";
}
content_type()
* Signature: $content_type = $service->content_type();
* Param: void
* Return: $content_type string
* Throws: App::Exception
* Since: 0.01
Sample Usage:
$content_type = $service->content_type();
internals()
* Signature: $guts = $self->internals();
* Param: void
* Return: $guts {}
* Throws: App::Exception
* Since: 0.01
$guts = $so->internals();
App::Reference->print($guts);
print App::Reference->dump($guts), "\n";
Copy the internals of the current SessionObject to a new hash and return a reference to that hash for debugging purposes. The resulting hash reference may be printed using Data::Dumper (or App::Reference). The refe
dump()
* Signature: $perl = $service->dump();
* Param: void
* Return: $perl text
* Throws: App::Exception
* Since: 0.01
Sample Usage:
$service = $context->repository();
print $service->dump(), "\n";
print()
* Signature: $service->print();
* Param: void
* Return: void
* Throws: App::Exception
* Since: 0.01
Sample Usage:
$service->print();
Protected Methods:
The following methods are intended to be called by subclasses of the current class.
init()
The init() method is called from within the standard Service constructor. It allows subclasses of the Service to customize the behavior of the constructor by overriding the init() method. The init() method in this class simply calls the init() method to allow each service instance to initialize itself.
* Signature: init($named)
* Param: $named {} [in]
* Return: void
* Throws: App::Exception
* Since: 0.01
Sample Usage:
$service->init(\%args);
ACKNOWLEDGEMENTS
* Author: Stephen Adkins <stephen.adkins@officevision.com>
* License: This is free software. It is licensed under the same terms as Perl itself.