BioPerl-DB
view release on metacpan or search on metacpan
lib/Bio/DB/BioSQL/BioNamespaceAdaptor.pm view on Meta::CPAN
sub populate_from_row{
my ($self,$obj,$rows) = @_;
if(! ref($obj)) {
$self->throw("\"$obj\" is not an object. Probably internal error.");
}
if($rows && @$rows) {
$obj->namespace($rows->[1]) if $rows->[1];
$obj->authority($rows->[2]) if $rows->[2];
if($obj->isa("Bio::DB::PersistentObjectI")) {
$obj->primary_key($rows->[0]);
}
return $obj;
}
return undef;
}
=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.
This method MUST be overridden by a derived class. Alternatively,
a derived class may choose to override find_by_unique_key() instead,
as that one calls this method.
Example :
Returns : One or more references to hash(es) where each hash
represents one unique key, and the keys of each hash
represent the names of the object's slots that are part of
the particular unique key and their values are the values
of those slots as suitable for the key.
Args : The object with those attributes set that constitute the chosen
unique key (note that the class of the object will be suitable for
the adaptor).
A reference to an array of foreign key objects if not retrievable
from the object itself.
=cut
sub get_unique_key_query{
my ($self,$obj,$fkobjs) = @_;
my $uk_h = {};
# UK is the name of the namespace ...
if($obj->namespace()) {
$uk_h->{'namespace'} = $obj->namespace();
}
return $uk_h;
}
=head2 remove_children
Title : remove_children
Usage :
Function: This method is to cascade deletes in maintained objects.
We just return TRUE here.
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{
return 1;
}
1;
( run in 0.510 second using v1.01-cache-2.11-cpan-39bf76dae61 )