BioPerl-DB

 view release on metacpan or  search on metacpan

lib/Bio/DB/BioSQL/BaseDriver.pm  view on Meta::CPAN


sub new {
    my($class,@args) = @_;

    my $self = $class->SUPER::new(@args);

    # copy the static mapping tables into our private hashs
    # you may then change individual mappings in your derived adaptor driver
    $self->objrel_map(\%object_entity_map);
    $self->slot_attribute_map(\%slot_attribute_map);
    $self->not_select_attrs(\%dont_select_attrs);
    $self->association_entity_map(\%association_entity_map);

    return $self;
}

=head2 prepare_delete_sth

 Title   : prepare_delete_sth
 Usage   :
 Function: Creates a prepared statement with one placeholder variable

lib/Bio/DB/BioSQL/BaseDriver.pm  view on Meta::CPAN


sub _build_select_list{
    my ($self,$adp,$fkobjs,$entitymap) = @_;

    # get the persistent slots
    my @slots = $adp->get_persistent_slots();
    # get the slot/attribute map
    my $table = $self->table_name($adp);
    my $slotmap = $self->slot_attribute_map();
    # get the map of columns excluded from SELECTs
    my $dont_select_attrs = $self->not_select_attrs();
    # default the entity-alias map if not provided
    if(! $entitymap) {
	$entitymap = {};
	$entitymap->{$table} = [$table];
    }
    # Alias for the table. We'll use the first one if the table is in the
    # FROM list with different aliases. Also note that the alias may come
    # with context, which we need to strip off.
    my ($alias) = split(/::/, $entitymap->{$table}->[0]);
    # get the primary key name

lib/Bio/DB/BioSQL/BaseDriver.pm  view on Meta::CPAN

		$map = $self->{'_slot_attr_map'}->{$tablekey};
	    }
	}
    } else {
	# return the overall map
	$map = $self->{'_slot_attr_map'};
    }
    return $map;
}

=head2 not_select_attrs

 Title   : not_select_attrs
 Usage   : $obj->not_select_attrs($newval)
 Function: Get/set a map of all columns that should not be included in
           SELECT lists.
 Example : 
 Returns : value of not_select_attrs (a reference to a hash map)
 Args    : new value (a reference to a hash map, optional)


=cut

sub not_select_attrs{
    my ($self,$value) = @_;
    if( defined $value) {
	$self->{'not_select_attrs'} = $value;
    }
    return $self->{'not_select_attrs'};
}

=head2 association_entity_map

 Title   : association_entity_map
 Usage   : $obj->association_entity_map($newval)
 Function: Get/set the association entity map. The map is an anonymous
           hash with entities that participate in associations being
           keys. The values are hash refs themselves, with the other
           participating entity being the key, and the value being

lib/Bio/DB/BioSQL/BasePersistenceAdaptor.pm  view on Meta::CPAN

           override it to return something meaningful.

 Example :
 Returns : an array of method names constituting the serializable slots
 Args    : the object about to be inserted or updated


=cut

sub get_persistent_slots{
    shift->throw_not_implemented();
}

=head2 get_persistent_slot_values

 Title   : get_persistent_slot_values
 Usage   :
 Function: Obtain the values for the slots returned by get_persistent_slots(),
           in exactly that order.

           The reason this method is here is that sometimes the actual

lib/Bio/DB/BioSQL/BasePersistenceAdaptor.pm  view on Meta::CPAN

 Args    : The object about to be serialized.
           A reference to an array of foreign key objects if not retrievable 
           from the object itself.


=cut

sub get_persistent_slot_values {
    my ($self,@args) = @_;

    $self->throw_not_implemented();
}

=head2 get_foreign_key_objects

 Title   : get_foreign_key_objects
 Usage   :
 Function: Gets the objects referenced by this object, and which therefore need
           to be referenced as foreign keys in the datastore.

           Note that the objects are expected to implement

lib/Bio/DB/BioSQL/BasePersistenceAdaptor.pm  view on Meta::CPAN


 Example :
 Returns : TRUE on success and FALSE otherwise
 Args    : The persistent object that was just removed from the database.
           Additional (named) parameter, as passed to remove().


=cut

sub remove_children{
    shift->throw_not_implemented();
}

=head2 instantiate_from_row

 Title   : instantiate_from_row
 Usage   :
 Function: Instantiates the class this object is an adaptor for, and populates
           it with values from columns of the row.

           Usually a derived class will instantiate the proper class and pass

lib/Bio/DB/BioSQL/BasePersistenceAdaptor.pm  view on Meta::CPAN

           A reference to an array of column values. The first column is the
           primary key, the other columns are expected to be in the order 
           returned by get_persistent_slots().


=cut

sub populate_from_row{
    my ($self,@args) = @_;

    $self->throw_not_implemented();
}

=head2 get_unique_key_query

 Title   : get_unique_key_query
 Usage   :
 Function: Obtain the suitable unique key slots and values as
           determined by the attribute values of the given object and
           the additional foreign key objects, in case foreign keys
           participate in a UK.

lib/Bio/DB/BioSQL/Oracle/SpeciesAdaptorDriver.pm  view on Meta::CPAN

           A reference to an array of foreign key objects; if any of those
           foreign key values is NULL (some foreign keys may be nullable),
           then give the class name.


=cut

sub update_object{
    my ($self,$adp,$obj,$fkobjs) = @_;

    $self->throw_not_implemented();

}

=head2 _build_select_list

 Title   : _build_select_list
 Usage   :
 Function: Builds and returns the select list for an object query. The list
           contains those columns, in the right order, that are necessary to
           populate the object.

lib/Bio/DB/BioSQL/Pg/SpeciesAdaptorDriver.pm  view on Meta::CPAN

           A reference to an array of foreign key objects; if any of those
           foreign key values is NULL (some foreign keys may be nullable),
           then give the class name.


=cut

sub update_object{
    my ($self,$adp,$obj,$fkobjs) = @_;

    $self->throw_not_implemented();

}

=head2 _build_select_list

 Title   : _build_select_list
 Usage   :
 Function: Builds and returns the select list for an object query. The list
           contains those columns, in the right order, that are necessary to
           populate the object.

lib/Bio/DB/BioSQL/mysql/SpeciesAdaptorDriver.pm  view on Meta::CPAN

           A reference to an array of foreign key objects; if any of those
           foreign key values is NULL (some foreign keys may be nullable),
           then give the class name.


=cut

sub update_object{
    my ($self,$adp,$obj,$fkobjs) = @_;

    $self->throw_not_implemented();

}

=head2 _build_select_list

 Title   : _build_select_list
 Usage   :
 Function: Builds and returns the select list for an object query. The list
           contains those columns, in the right order, that are necessary to
           populate the object.

lib/Bio/DB/DBAdaptorI.pm  view on Meta::CPAN

 Args    : The class (a string) or object for which the adaptor is to be
           obtained. Optionally, a DBContextI implementing object to initialize
           the adaptor with. 


=cut

sub get_object_adaptor{
   my ($self,@args) = @_;

   $self->throw_not_implemented();
}

=head2 create_persistent

 Title   : create_persistent
 Usage   : $dbadaptor->create_persistent($obj)
 Function: Creates a PersistentObjectI implementing object that adapts the
           given object to the datastore.
 Example :
 Returns : A Bio::DB::PeristentObjectI implementing object

lib/Bio/DB/DBAdaptorI.pm  view on Meta::CPAN

           by this factory. Alternatively, the class name of such an object.
           All remaining arguments should be passed to the constructor of the
           class if the first argument is a class name.


=cut

sub create_persistent{
   my ($self,@args) = @_;

   $self->throw_not_implemented();
}


1;

lib/Bio/DB/DBContextI.pm  view on Meta::CPAN


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


=cut

sub dsn{
    my ($self) = @_;
    $self->throw_not_implemented();
}

=head2 dbname

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


=cut

sub dbname{
    my ($self) = @_;
    $self->throw_not_implemented();
}

=head2 driver

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


=cut

sub driver{
    my ($self) = @_;
    $self->throw_not_implemented();
}

=head2 username

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


=cut

sub username {
    my ($self) = @_;
    $self->throw_not_implemented();
}

=head2 password

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


=cut

sub password{
    my ($self,$value) = @_;
    $self->throw_not_implemented();
}

=head2 host

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


=cut

sub host {
    my ($self) = @_;
    $self->throw_not_implemented();
}

=head2 port

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


=cut

sub port{
    my ($self,$value) = @_;
    $self->throw_not_implemented();
}

=head2 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)


=cut

sub dbadaptor{
    my ($self) = @_;
    $self->throw_not_implemented();
}

=head2 dbi

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


=cut

sub dbi{
    my ($self,@args) = @_;
    $self->throw_not_implemented();
}

=head2 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

lib/Bio/DB/DBContextI.pm  view on Meta::CPAN


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


=cut

sub schema{
    my ($self,@args) = @_;
    $self->throw_not_implemented();
}

1;

lib/Bio/DB/DBD.pm  view on Meta::CPAN

 Args    : The database handle to use for preparing the statement.
           The class of which a corresponding entry shall be deleted. 
           Optionally, additional (named) arguments.


=cut

sub prepare_delete_sth{
    my ($self,@args) = @_;

    $self->throw_not_implemented();
}

=head2 cascade_delete

 Title   : cascade_delete
 Usage   :
 Function: Removes all persistent objects dependent from the given persistent
           object from the database (foreign key integrity).

           The method may throw an exception, or the database calls

lib/Bio/DB/DBD.pm  view on Meta::CPAN

 Args    : The DBContextI implementing object for the database.
           The object for which the dependent rows shall be deleted. 
           Optionally, additional (named) arguments.


=cut

sub cascade_delete{
    my ($self,@args) = @_;

    $self->throw_not_implemented();
}

1;

lib/Bio/DB/DBI.pm  view on Meta::CPAN

           Optionally, the name of the primary key generating
           sequence. The driver is not required to honor the argument
           if present.


=cut

sub next_id_value{
   my ($self,@args) = @_;

   $self->throw_not_implemented();
}

=head2 last_id_value

 Title   : last_id_value
 Usage   :
 Function: Returns the last unique primary key value
           allocated. Depending on the argument and the driver, the
           value may be specific to a table, or independent of the
           table.

lib/Bio/DB/DBI.pm  view on Meta::CPAN


           Optionally, the name of the primary key generating
           sequence. The driver is not required to honor the argument
           if present.

=cut

sub last_id_value{
   my ($self,@args) = @_;

   $self->throw_not_implemented();
}

=head2 ifnull_sqlfunc

 Title   : nvl_sqlfunc
 Usage   :
 Function: Get the name of the SQL function that takes two arguments
           and returns the first if it is not null, and the second
           otherwise.

lib/Bio/DB/DBI.pm  view on Meta::CPAN

 Returns : an open DBI database handle
 Args    : A Bio::DB::DBContextI implementing object. Additional hashref
           parameter to be passed to DBI->connect() in case of a new
           connection.


=cut

sub get_connection{
    my ($self,$dbc,@args) = @_;
    $self->throw_not_implemented();
}

=head2 new_connection

 Title   : new_connection
 Usage   :
 Function: Obtains a new connection handle to the database represented by the
           the DBContextI object, passing additional args to the DBI->connect()
           method.

lib/Bio/DB/DBI.pm  view on Meta::CPAN

 Example :
 Returns : an open DBI database handle
 Args    : A Bio::DB::DBContextI implementing object. Additional hashref
           parameter to pass to DBI->connect().


=cut

sub new_connection{
    my ($self,$dbc,@args) = @_;
    $self->throw_not_implemented();
}

=head2 disconnect

 Title   : disconnect
 Usage   :
 Function: Disconnects all or a certain number of connections matching the
           parameters. The connections affected are those previously obtained
           through get_connection() (shared connections from a pool).
 Example :

lib/Bio/DB/DBI.pm  view on Meta::CPAN

 Args    : Optionally, a Bio::DB::DBContextI implementing object. 
           Additional hashref parameter with settings that were passed to
           get_connection().


=cut

sub disconnect{
    my ($self,@args) = @_;

    $self->throw_not_implemented();
}

=head2 conn_params

 Title   : conn_params
 Usage   : $dbi->conn_params($requestor, $newval)
 Function: Gets/sets connection parameters suitable for the specific driver and
           the specific requestor.

           A particular implementation may choose to ignore the

lib/Bio/DB/DBI.pm  view on Meta::CPAN

 Returns : a hashref to be passed to get_connection() or new_connection()
           (which would pass it on to DBI->connect()).
 Args    : The requesting object, or alternatively its class name or interface.
           Optionally, on set the new value (which must be undef or a hashref).


=cut

sub conn_params{
    my ($self,$value) = @_;
    $self->throw_not_implemented();
}

1;

lib/Bio/DB/PersistenceAdaptorI.pm  view on Meta::CPAN


           Optionally, additional named parameters. A common parameter
           will be -fkobjs, with a reference to an array of foreign
           key objects if these cannot be obtained from the object
           itself.


=cut

sub create{
    shift->throw_not_implemented();
}

=head2 create_persistent

 Title   : create_persistent
 Usage   :
 Function: Takes the given object and turns it onto a
           L<Bio::DB::PersistentObjectI> implementing object. Returns
           the result. Does not actually create the object in a
           database.

lib/Bio/DB/PersistenceAdaptorI.pm  view on Meta::CPAN

 Args    : An object to be made into a PersistentObjectI object, and the class
           of which is suitable for this adaptor.

           Optionally, the class which actually implements wrapping
           the object to become a PersistentObjectI.


=cut

sub create_persistent{
    shift->throw_not_implemented();
}

=head2 store

 Title   : store
 Usage   : $objectstoreadp->store($persistent_obj)
 Function: Updates the given persistent object in the datastore.

           Implementations should be flexible and delegate to create()
           if the primary_key() method of the object returns undef.

lib/Bio/DB/PersistenceAdaptorI.pm  view on Meta::CPAN


           Optionally, additional named parameters. A common parameter
           will be -fkobjs, with a reference to an array of foreign
           key objects if these cannot be obtained from the object
           itself.


=cut

sub store{
    shift->throw_not_implemented();
}

=head2 remove

 Title   : remove
 Usage   : $objectstoreadp->remove($persistent_obj, @params)
 Function: Removes the persistent object from the datastore.
 Example :
 Returns : TRUE on success and FALSE otherwise
 Args    : The object to be removed, and optionally additional (named) 
           parameters.


=cut

sub remove{
    shift->throw_not_implemented();
}

=head1 Methods for locating objects

    Find by primary key, by unique key, by association, and by query.

=cut

=head2 find_by_primary_key

lib/Bio/DB/PersistenceAdaptorI.pm  view on Meta::CPAN

 Example :
 Returns : An instance of the class this adaptor adapts, represented by an
           object implementing Bio::DB::PersistentObjectI, or undef if no
           matching entry was found.
 Args    : The primary key


=cut

sub find_by_primary_key{
    shift->throw_not_implemented();
}

=head2 find_by_unique_key

 Title   : find_by_unique_key
 Usage   :
 Function: Locates the entry matching the unique key attributes as set in the
           passed object, and populates a persistent object with this entry.
 Example :
 Returns : A Bio::DB::PersistentObjectI implementing object, with the

lib/Bio/DB/PersistenceAdaptorI.pm  view on Meta::CPAN

           chosen unique key (note that the class of the object must
           be suitable for the adaptor).

           Additional attributes and values if required, passed as a
           reference to a hash map.


=cut

sub find_by_unique_key{
    shift->throw_not_implemented();
}

=head2 find_by_association

 Title   : find_by_association
 Usage   :
 Function: Locates those records associated between a number of
           objects. The focus object (the type to be instantiated)
           depends on the adaptor class that inherited from this
           class.

lib/Bio/DB/PersistenceAdaptorI.pm  view on Meta::CPAN

                       each other
               -obj_factory the factory to use for instantiating objects from
                       the found rows
  Caveats: Make sure you *always* give the objects to be associated in the
           same order.


=cut

sub find_by_association{
    shift->throw_not_implemented();
}

=head2 find_by_query

 Title   : find_by_query
 Usage   :
 Function: Locates entries that match a particular query and returns the
           result as an array of peristent objects.

           The query is represented by an instance of

lib/Bio/DB/PersistenceAdaptorI.pm  view on Meta::CPAN

                         the statement be a cached prepared statement, which
                         in subsequent invocations will only be re-bound with
                         parameters values, but not recreated
              -values    a reference to an array holding the values to be
                         bound, if the query is a named query


=cut

sub find_by_query{
    shift->throw_not_implemented();
}

=head1 Methods for transactional control

   Rollback and commit

=cut

=head2 commit

lib/Bio/DB/PersistenceAdaptorI.pm  view on Meta::CPAN

 Function: Commits the current transaction, if the underlying driver
           supports transactions.
 Example :
 Returns : TRUE
 Args    : none


=cut

sub commit{
    shift->throw_not_implemented();
}

=head2 rollback

 Title   : rollback
 Usage   :
 Function: Triggers a rollback of the current transaction, if the
           underlying driver supports transactions.
 Example :
 Returns : TRUE
 Args    : none


=cut

sub rollback{
    shift->throw_not_implemented();
}

1;

lib/Bio/DB/Persistent/ObjectRelMapperI.pm  view on Meta::CPAN

 Example :
 Returns : the name of the table (a string), or undef if the table cannot be
           determined
 Args    : The referenced object, class name, or the persistence adaptor for
           it. 


=cut

sub table_name{
    shift->throw_not_implemented();
}

=head2 association_table_name

 Title   : association_table_name
 Usage   :
 Function: Obtain the name of the table in the relational schema corresponding
           to the association of entities as represented by their
           corresponding class names, objects, or persistence adaptors.

 Example :
 Returns : the name of the table (a string)
 Args    : A reference to an array of objects, class names, or persistence
           adaptors. The array may freely mix types.


=cut

sub association_table_name{
    shift->throw_not_implemented();
}

=head2 primary_key_name

 Title   : primary_key_name
 Usage   :
 Function: Obtain the name of the primary key attribute for the given table in
           the relational schema.

 Example :
 Returns : The name of the primary key (a string)
 Args    : The name of the table (a string)


=cut

sub primary_key_name{
    shift->throw_not_implemented();
}

=head2 foreign_key_name

 Title   : foreign_key_name
 Usage   :
 Function: Obtain the foreign key name for referencing an object, as 
           represented by object, class name, or the persistence adaptor.
 Example :
 Returns : the name of the foreign key (a string)
 Args    : The referenced object, class name, or the persistence adaptor for
           it. 


=cut

sub foreign_key_name{
    shift->throw_not_implemented();
}

=head2 slot_attribute_map

 Title   : slot_attribute_map
 Usage   :
 Function: Get/set the mapping for each entity from object slot names to column
           names.
 Example :
 Returns : A reference to a hash map with entity names being the keys, if no

lib/Bio/DB/Persistent/ObjectRelMapperI.pm  view on Meta::CPAN

           corresponding column names.
 Args    : Optionally, the object, adaptor, or entity for which to obtain
           the map.
           Optionally, on set a reference to a hash map satisfying the features
           of the returned value.


=cut

sub slot_attribute_map{
    shift->throw_not_implemented();
}

1;

lib/Bio/DB/PersistentObjectI.pm  view on Meta::CPAN

 Args    : Optionally, additional named parameters. A common parameter will
           be -fkobjs, with a reference to an array of foreign key objects
           that are not retrievable from the persistent object itself.


=cut

sub create{
    my ($self,@args) = @_;
   
    $self->throw_not_implemented();
}

=head2 store

 Title   : store
 Usage   : $obj->store()
 Function: Updates the persistent object in the datastore to reflect its
           attribute values.
 Example :
 Returns : TRUE on success and FALSE otherwise
 Args    : Optionally, additional named parameters. A common parameter will
           be -fkobjs, with a reference to an array of foreign key objects
           that are not retrievable from the persistent object itself.


=cut

sub store{
    my ($self,@args) = @_;

    $self->throw_not_implemented();
}

=head2 remove

 Title   : remove
 Usage   : $obj->remove()
 Function: Removes the persistent object from the datastore.
 Example :
 Returns : TRUE on success and FALSE otherwise
 Args    : none


=cut

sub remove{
    my ($self,@args) = @_;

    $self->throw_not_implemented();
}

=head2 primary_key

 Title   : primary_key
 Usage   : $obj->primary_key($newval)
 Function: Get the primary key of the persistent object in the datastore.

           Note that an implementation may not permit changing the
           primary key once it has been set. For most applications,

lib/Bio/DB/PersistentObjectI.pm  view on Meta::CPAN


 Example : 
 Returns : value of primary_key (a scalar)
 Args    : new value (a scalar, optional)


=cut

sub primary_key{
    my ($self,$value) = @_;
    $self->throw_not_implemented();
}

=head2 obj

 Title   : obj
 Usage   : $obj->obj()
 Function: Get/set the object that is made persistent through this adaptor.

           Note that an implementation is not required to allow
           setting a value. In fact, an implementation is encouraged

lib/Bio/DB/PersistentObjectI.pm  view on Meta::CPAN


 Example : 
 Returns : The object made persistent through this adaptor
 Args    : On set, the new value. Read above for caveat.


=cut

sub obj{
    my ($self,$value) = @_;
    $self->throw_not_implemented();
}

=head1 Methods for transactional control

   Rollback and commit

=cut

=head2 commit

lib/Bio/DB/PersistentObjectI.pm  view on Meta::CPAN

 Function: Commits the current transaction, if the underlying driver
           supports transactions.
 Example :
 Returns : TRUE
 Args    : none


=cut

sub commit{
    shift->throw_not_implemented();
}

=head2 rollback

 Title   : rollback
 Usage   :
 Function: Triggers a rollback of the current transaction, if the
           underlying driver supports transactions.
 Example :
 Returns : TRUE
 Args    : none


=cut

sub rollback{
    shift->throw_not_implemented();
}

=head1 Decorating methods

These methods aren't intrinsically necessary on this interface, but
rather ease recurrent tasks when serializing objects and translate
from object model to relational model.

=cut

lib/Bio/DB/PersistentObjectI.pm  view on Meta::CPAN

           much effort.

 Example : 
 Returns : value of rank (a scalar)
 Args    : new value (a scalar or undef, optional)


=cut

sub rank{
    shift->throw_not_implemented();
}

=head2 foreign_key_slot

 Title   : foreign_key_slot
 Usage   : $obj->foreign_key_slot($newval)
 Function: Get/set of the slot name that is referring to this persistent
           object as a foreign key.

           This should come in a fully-qualified form. The fully qualified

lib/Bio/DB/PersistentObjectI.pm  view on Meta::CPAN

           tampering with it.

 Example : 
 Returns : value of foreign_key_slot (a scalar)
 Args    : new value (a scalar or undef, optional)


=cut

sub foreign_key_slot{
    shift->throw_not_implemented();
}

1;

lib/Bio/DB/Query/QueryResultI.pm  view on Meta::CPAN

 Usage   :
 Function: Obtain the next object from the result stream and return it.
 Example :
 Returns : A Bioperl object (implementing at least Bio::Root::RootI)
 Args    : none


=cut

sub next_object{
    shift->throw_not_implemented();
}

=head2 each_Object

 Title   : each_Object
 Usage   :
 Function: This is primarily a convenience method and in most implementations
           will just loop over next_object() and return an array of all
           objects.
 Example :
 Returns : A reference to an array of objects.
 Args    : Optionally, an anonymous function for filtering objects. If given,
           the function is passed one argument, the object to evaluate.
           The object will be included in the returned array if the function
           returns TRUE, and rejected otherwise.


=cut

sub each_Object{
    shift->throw_not_implemented();
}

=head2 finish

 Title   : finish
 Usage   :
 Function: Indicate being finished with this result so that possibly used
           system resources can be released.
 Example :
 Returns : none
 Args    : none


=cut

sub finish{
    shift->throw_not_implemented();
}

1;

t/data/AP000868.gb  view on Meta::CPAN

     repeat_region   46607..47082
                     /note="LOR1a: matches 1 to 497 of consensus"
     misc            1..19151
                     /note="Component DNA fragment"
                     /note="accession=AP002765.3"
                     /note="start=159020"
                     /note="end=178170"
                     /note="orientation=1"
     variation       complement(2261..2261)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:552820"
                     /db_xref="HGBASE:SNP000375829"
     variation       6896..6896
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:475710"
                     /db_xref="HGBASE:SNP000368989"
     variation       8597..8597
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:552467"
                     /db_xref="HGBASE:SNP001202646"
     variation       9185..9185
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:557862"
                     /db_xref="HGBASE:SNP000376288"
     variation       9242..9242
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:558021"
                     /db_xref="HGBASE:SNP000843781"
     variation       complement(9593..9593)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:655756"
                     /db_xref="HGBASE:SNP000458091"
     variation       10744..10744
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:503766"
                     /db_xref="HGBASE:SNP000076194"
     variation       complement(11324..11324)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:627134"
                     /db_xref="HGBASE:SNP000501198"
     variation       complement(11580..11580)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:625888"
                     /db_xref="HGBASE:SNP000410419"
     variation       complement(12055..12055)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:623707"
     variation       complement(12298..12298)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1791700"
                     /db_xref="HGBASE:SNP000404217"
                     /db_xref="TSC-CSHL:TSC0947239"
     variation       15872..15872
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2276410"
     prediction      join(complement(15914..16090))
     variation       16640..16640
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2282646"
                     /db_xref="HGBASE:SNP001239633"
     variation       17550..17550
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2126708"
                     /db_xref="HGBASE:SNP001310527"
                     /db_xref="TSC-CSHL:TSC1134267"
     misc            19152..181589
                     /note="Component DNA fragment"
                     /note="accession=AP000868.4"
                     /note="start=19153"
                     /note="end=181590"
                     /note="orientation=1"
     variation       19560..19560
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2126709"
                     /db_xref="HGBASE:SNP001310528"
                     /db_xref="TSC-CSHL:TSC1134268"
     variation       complement(19688..19688)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:10904"
                     /db_xref="HGBASE:SNP000017373"
     variation       complement(22574..22574)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2282644"
                     /db_xref="HGBASE:SNP001241241"
     variation       complement(23148..23148)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:663471"
                     /db_xref="HGBASE:SNP000668983"
     variation       complement(23159..23159)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1720331"
                     /db_xref="HGBASE:SNP000606798"
     variation       complement(23419..23419)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:671898"
                     /db_xref="HGBASE:SNP000519992"
     variation       complement(24698..24698)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2282643"
                     /db_xref="HGBASE:SNP001357715"
     prediction      join(complement(24827..25228),complement(23955..24249),
                     complement(23394..23554),complement(22473..22662),
                     complement(21816..21935),complement(20460..21331))
     variation       complement(25549..25549)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2282642"
                     /db_xref="HGBASE:SNP001241241"
     variation       complement(25566..25566)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2282641"
                     /db_xref="HGBASE:SNP001241241"
     variation       complement(26578..26578)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1880058"
                     /db_xref="HGBASE:SNP000858034"
                     /db_xref="TSC-CSHL:TSC0891347"
     variation       complement(28686..28686)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1791715"
                     /db_xref="HGBASE:SNP000423743"
     variation       complement(29269..29269)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:682246"
     variation       complement(32214..32214)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1940185"
                     /db_xref="HGBASE:SNP000860124"
                     /db_xref="TSC-CSHL:TSC1009511"
     variation       complement(33267..33267)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1557429"
                     /db_xref="HGBASE:SNP000400840"
                     /db_xref="TSC-CSHL:TSC0444634"
     variation       complement(33395..33395)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1557428"
                     /db_xref="HGBASE:SNP000400839"
                     /db_xref="TSC-CSHL:TSC0444633"
     variation       complement(33396..33396)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1557427"
                     /db_xref="HGBASE:SNP000400838"
                     /db_xref="TSC-CSHL:TSC0444632"
     variation       complement(33424..33424)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1557426"
                     /db_xref="HGBASE:SNP000400837"
                     /db_xref="TSC-CSHL:TSC0444631"
     variation       complement(33565..33565)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1557425"
                     /db_xref="HGBASE:SNP000400836"
                     /db_xref="TSC-CSHL:TSC0444630"
     variation       34696..34696
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1939924"
                     /db_xref="HGBASE:SNP000859985"
                     /db_xref="TSC-CSHL:TSC1009047"
     variation       34809..34809
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1939925"
                     /db_xref="HGBASE:SNP000859986"
                     /db_xref="TSC-CSHL:TSC1009048"
     variation       complement(34928..34928)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1893061"
                     /db_xref="HGBASE:SNP000858271"
                     /db_xref="TSC-CSHL:TSC0919478"
     variation       35738..35738
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2091068"
                     /db_xref="HGBASE:SNP001309950"
                     /db_xref="TSC-CSHL:TSC1312336"
     variation       35970..35970
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:2272142"
                     /db_xref="HGBASE:SNP001314474"
     variation       37832..37832
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1940191"
                     /db_xref="HGBASE:SNP000860129"
                     /db_xref="TSC-CSHL:TSC1009519"
     variation       complement(40576..40576)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:629647"
                     /db_xref="HGBASE:SNP000763754"
     variation       complement(40807..40807)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:628708"
                     /db_xref="HGBASE:SNP000111700"
     variation       complement(40856..40856)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:634148"
                     /db_xref="HGBASE:SNP000528519"
     variation       complement(40872..40872)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:607154"
                     /db_xref="HGBASE:SNP000380635"
     variation       complement(42902..42902)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1148082"
     variation       complement(42996..42996)
                     /replace=""
                     /evidence="not_experimental"
                     /db_xref="dbSNP:1291089"
                     /db_xref="HGBASE:SNP000157115"
BASE COUNT    52693 a  34921 c  36093 g  57882 t
ORIGIN      
        1 gaattcagtt gctggctctg ccacttactt ctgagtggcc tcaaattttg taacctctct
       61 ggttaaaatc agctgttttc caattgacct tagccctggc ctttgctaac attaaatgag
      121 tgttgtcacc actctaagct ttaattcctt cacatagaaa atgaagagat tggatagacc
      181 agacaattgc cacatcccct tccaaatcca ggattctata gttctagtag gaagcaagga
      241 aacaaaacat ttcagtttat tgtttggtat aaatgaatca tcttcttctt tgaagtcctt
      301 gttaatcaac tttcccataa gccagaattc atcactccca ctgggccttg tgaaaatggg

t/lib/Test/Harness/Straps.pm  view on Meta::CPAN

    if ( $point ) {
        $linetype = 'test';

        $results->inc_seen;
        $point->set_number( $self->{'next'} ) unless $point->number;

        # sometimes the 'not ' and the 'ok' are on different lines,
        # happens often on VMS if you do:
        #   print "not " unless $test;
        #   print "ok $num\n";
        if ( $self->{lone_not_line} && ($self->{lone_not_line} == $self->{line} - 1) ) {
            $point->set_ok( 0 );
        }

        if ( $self->{todo}{$point->number} ) {
            $point->set_directive_type( 'todo' );
        }

        if ( $point->is_todo ) {
            $results->inc_todo;
            $results->inc_bonus if $point->ok;

t/lib/Test/Harness/Straps.pm  view on Meta::CPAN

            };

            assert( defined( $details->{ok} ) && defined( $details->{actual_ok} ) );
            $results->set_details( $point->number, $details );
        }
    } # test point
    elsif ( $line =~ /^not\s+$/ ) {
        $linetype = 'other';
        # Sometimes the "not " and "ok" will be on separate lines on VMS.
        # We catch this and remember we saw it.
        $self->{lone_not_line} = $self->{line};
    }
    elsif ( $self->_is_header($line) ) {
        $linetype = 'header';

        $self->{saw_header}++;

        $results->inc_max( $self->{max} );
    }
    elsif ( $self->_is_bail_out($line, \$self->{bailout_reason}) ) {
        $linetype = 'bailout';

t/lib/Test/Harness/Straps.pm  view on Meta::CPAN


=cut

sub _reset_file_state {
    my($self) = shift;

    delete @{$self}{qw(max skip_all todo too_many_tests)};
    $self->{line}       = 0;
    $self->{saw_header} = 0;
    $self->{saw_bailout}= 0;
    $self->{lone_not_line} = 0;
    $self->{bailout_reason} = '';
    $self->{'next'}       = 1;
}

=head1 EXAMPLES

See F<examples/mini_harness.plx> for an example of use.

=head1 AUTHOR

t/lib/Test/More.pm  view on Meta::CPAN

    local %Refs_Seen = %Refs_Seen;

    {
        # Quiet uninitialized value warnings when comparing undefs.
        local $^W = 0; 

        $tb->_unoverload_str(\$e1, \$e2);

        # Either they're both references or both not.
        my $same_ref = !(!ref $e1 xor !ref $e2);
	my $not_ref  = (!ref $e1 and !ref $e2);

        if( defined $e1 xor defined $e2 ) {
            $ok = 0;
        }
        elsif ( $e1 == $DNE xor $e2 == $DNE ) {
            $ok = 0;
        }
        elsif ( $same_ref and ($e1 eq $e2) ) {
            $ok = 1;
        }
	elsif ( $not_ref ) {
	    push @Data_Stack, { type => '', vals => [$e1, $e2] };
	    $ok = 0;
	}
        else {
            if( $Refs_Seen{$e1} ) {
                return $Refs_Seen{$e1} eq $e2;
            }
            else {
                $Refs_Seen{$e1} = "$e2";
            }



( run in 0.330 second using v1.01-cache-2.11-cpan-0a987023a57 )