NAME

Config - interface to configuration files.


SYNOPSIS

  # examples here
  use Dispatcher::Config;
  my $config = new Dispatcher::Config();
  # parse fasta configuration, expand tags
  my ($res, $msg) = $config->parse('fasta', 1);
  unless ($res) {
      # handle error, message is in $msg
      ...
  }
  # get value from configuration
  my $infile = $config->get('toolinput');
  # set value to configuration
  $config->set('tmpinput', "$infile.tmp");
  # get all values in a hash
  my $defaults = $config->getValues();
  # initialize second configuration by giving default values
  my $qconfig = new Dispatcher::Config();
  ($res, $msg) = $qconfig->parse('lsf42', 1, $defaults);
  unless ($res) {
      # handle error, message is in $msg
      ...
  }


DESCRIPTION


VERSIONS

$Id: Config.pm.html,v 1.1.1.1 2005/08/18 13:18:25 hunter Exp $

Copyright (c) European Bioinformatics Institute 2002


AUTHORS / ACKNOWLEDGEMENTS

Ville Silventoinen <vsi@ebi.ac.uk>


CONSTRUCTORS

new

 Description: Constructor allocates an anonymous hash, which
              is tied to the class.
 Arguments:   $name        Configuration name, e.g., 'fasta'.
              $expand      1: expand tags.
                           0: do not expand tags (default).
              $defaults    Default values, hash reference (optional).
 Returns:     $self object


PUBLIC METHODS

parse

 Description: Parses configuration file and loads it to memory.
 Arguments:   $name        Configuration name, e.g., 'fasta'.
              $expand      1: expand tags.
                           0: do not expand tags (default).
              $defaults    Default values, hash reference (optional).
              $checkuf     1: check unique files (uniquefiles tag).
                           0: do not check unique files (default).
                           This can be used only with expand = 1.
                           Use it when the job is submitted to
                           guarantee unique file names containing
                           timestamps and random numbers.
              $file        Configuration file (optional). Default is
                           $ENV{IPRSCAN_HOME}/conf/$name.conf
 Returns:     1, ''  on success
              0, msg on failure

getName

 Description: Returns configuration name.
 Arguments:   -
 Returns:     name as string

get

 Description: Get value from configuration.
 Arguments:   $key     Configuration key.
 Returns:     value as string

getValues

 Description: Returns configuration values in a hash.
 Arguments:   -
 Returns:     Hash reference, empty if there is no configuration.

set

 Description: Sets value to configuration.
 Arguments:   $key      Configuration key.
              $value    Configuration value.
 Returns:     -

remove

 Description: Removes key-value pair from configuration.
 Arguments:   $key    Configuration key.
 Returns:     -

setDefaults

 Description: Set default values to configuration.
 Arguments:   $defaults    Default values, hash reference.
 Returns:     -


PRIVATE METHODS

expandTags

 Description: Expands tags in configuration.
 Arguments:   $defaults    Default values, hash reference (optional).
 Returns:     -

expand

 Description: Expands tags in a configuration value.
 Arguments:   $key         Configuration key.
              $value       Configuration value.
              $defaults    Default values, hash reference (optional).
 Returns:     -

trim

 Description: Trims leading and trailing whitespace.
 Arguments:   $s    String.
 Returns:     trimmed string