|
P5EEx-Blue-0.01 | |||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||
![]() |
P5EEx::Blue::Config::File |
P5EEx::Blue::Config::File - Load and access configuration data
use P5EEx::Blue::Config;
$config = P5EEx::Blue::Config->new(); $config = P5EEx::Blue::Config->new(configFile => $file); print $config->dump(), "\n"; # use Data::Dumper to spit out the Perl representation
# accessors $property_value = $config->get($property_name); $branch = $config->get_branch($branch_name); # get hashref of properties
# on-demand loading helper methods (private methods) $config->overlay($config2); # merge the two config structures using overlay rules $config->overlay($config1, $config2); # merge $config2 onto $config1 $config->graft($branch_name, $config2); # graft new config structure onto branch
# By convention, the configurations for each P5EE service will be located # two levels under the hash ref as shown.
$config->{Config} # config settings for all Config services
$config->{Config}{default} # config settings for the default Config service
$config->{Security} # config settings for all Security services
$config->{Security}{default} # config settings for the default Security service
$config->{Template}{tt} # config settings for the Template service named "tt"
# The default driver (if "configClass" not supplied) reads in a Perl # data structure from the file. Alternate drivers can read a Storable, # unvalidated XML, DTD-validated XML, RDF-validated XML, or any other # file format or data source anyone cares to write a driver for.
$conf = {
'Standard' => {
'Log-Dispatch' => {
'logdir' => '/var/p5ee',
}
},
'Authen' => {
'passwd' => '/etc/passwd',
'seed' => '303292',
},
};
# A comparable unvalidating XML file would look like this.
<conf>
<Standard>
<Log-Dispatch logdir="/var/p5ee"/>
</Standard>
<Authen passwd="/etc/passwd" seed="303292"/>
</conf>
# A comparable ini file (.ini) would look like this.
[Standard.Log-Dispatch] logdir = /var/p5ee [Authen] passwd = /etc/passwd seed = 303292
# A comparable Java properties-like file would look like this.
Standard.Log-Dispatch.logdir = /var/p5ee Authen.passwd = /etc/passwd Authen.seed = 303292
P5EEx::Blue::Config::File is the class which represents configuration data in a file. The type of Serializer used to deserialize the data is determined by the extension on the file name and contents of the beginning of the file.
* Throws: P5EEx::Blue::Exception::Config * Since: 0.01
The P5EEx::Blue::Config::File class extends the P5EEx::Blue::Config class,
overriding the create() method.
new()The constructor is inherited from
P5EEx::Blue::Config.
get()The constructor is inherited from
P5EEx::Blue::Reference.
get_branch()The constructor is inherited from
P5EEx::Blue::Reference.
dump()The constructor is inherited from
P5EEx::Blue::Reference.
The following methods are intended to be called by subclasses of the current class.
create()
* Signature: $config_data = $config->create($named);
* Param: void
* Param: configFile string
* Return: $config_data {}
* Throws: P5EEx::Blue::Exception::Config
* Since: 0.01
Sample Usage:
$config_data = $config->create();
$config_data = $config->create(
configFile => "config.xml",
);
This method overrides the default create() method for a Reference.
* Author: Stephen Adkins <stephen.adkins@officevision.com> * License: This is free software. It is licensed under the same terms as Perl itself.
P5EEx::Blue::P5EE,
P5EEx::Blue::Context,
P5EEx::Blue::Reference,
P5EEx::Blue::Config