NAME

Bio::DB::DBContextI - Interface for a class implementing a database context

SYNOPSIS

    # obtain a DBContextI implementing object somehow, usually through
    # a factory, for example
    use Bio::DB::BioDB;

    $dbcontext = Bio::DB::BioDB->new(
			-database => 'biosql'
                        -user     => 'root',
                        -pass     => 'mypasswd',
                        -dbname   => 'pog',
                        -host     => 'caldy',
			-port     => 3306,    # optional
                        -driver   => 'mysql',
	    );

    # obtain other adaptors as needed
    $dbadp = $dbc->dbadaptor();
    $seq_adaptor = $dbadp->get_adaptor('Bio::PrimarySeqI');

DESCRIPTION

This object represents the context of a database that is implemented somehow.

CONTACT

Hilmar Lapp, hlapp at gmx.net

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

dsn

Title   : dsn
Usage   : $obj->dsn($newval)
Function: Get/set the DSN for the database connection. 

          The DSN typically contains all non-credential information
          necessary to connect to the database, like driver, database
          or instance name, host, etc. Therefore, setting the DSN
          overrides any other individual properties set before. An
          implementation should make an attempt to parse those
          properties out of the DSN string but is not mandated to do
          so. Modules that use a DBContextI compliant object to
          construct a DSN should instead use the value of this
          property verbatim for connecting to the database, if it is
          defined.

          I.e., if you set this property, setting any other
          individual properties will not alter the DSN used for
          connecting to the database. If you query the property, a
          value will not be automatically constructed if only
          individual properties have been set. This is so because
          constructing the proper DSN from individual properties is
          driver-specific, and therefore cannot be done in a
          driver-neutral module.

Example : 
Returns : value of dsn (a scalar)
Args    : on set, new value (a scalar or undef, optional)

dbname

Title   : dbname
Usage   : $obj->dbname($newval)
Function: 
Example : 
Returns : value of dbname (a scalar)
Args    : new value (a scalar, optional)

driver

Title   : driver
Usage   : $obj->driver($newval)
Function: 
Example : 
Returns : value of driver (a scalar)
Args    : new value (a scalar, optional)

username

Title   : username
Usage   : $obj->username($newval)
Function: 
Example : 
Returns : value of username (a scalar)
Args    : new value (a scalar, optional)

password

Title   : password
Usage   : $obj->password($newval)
Function: 
Example : 
Returns : value of password (a scalar)
Args    : new value (a scalar, optional)

host

Title   : host
Usage   : $obj->host($newval)
Function: 
Example : 
Returns : value of host (a scalar)
Args    : new value (a scalar, optional)

port

Title   : port
Usage   : $obj->port($newval)
Function: 
Example : 
Returns : value of port (a scalar)
Args    : new value (a scalar, optional)

dbadaptor

Title   : dbadaptor
Usage   : $dbadp = $dbc->dbadaptor();
Function:
Example :
Returns : An Bio::DB::DBAdaptorI implementing object (an object adaptor
          factory).
Args    : Optionally, on set an Bio::DB::DBAdaptorI implementing object (to
          be used as the object adaptor factory for the respective database)

dbi

Title   : dbi
Usage   :
Function:
Example :
Returns : A Bio::DB::DBI implementing object
Args    : Optionally, on set a Bio::DB::DBI implementing object

schema

Title   : schema
Usage   : $dbc->schema($newval)
Function: Get/set the schema in which the database tables reside.

          A schema is typically equivalent to a namespace for a
          collection of tables within a database. In Oracle, the
          notion of a schema is synonymous with that of the user (all
          database objects of a user belong to the schema of the same
          name as the user) and hence can be omitted. In PostgreSQL,
          since v7.4 schemas can delineate collections of tables
          within a database (which in concept is more similar to a
          user in Oracle).

          For most drivers and database instances this will not be
          needed.

Example : 
Returns : value of schema (a scalar)
Args    : on set, new value (a scalar or undef, optional)