tag fourth (and hopefully last) alpha
[bioperl-live.git] / branch-1-6 / Bio / DBLinkContainerI.pm
blob33bb105346e05eb710d55535669dc3c73719e068
1 # $Id$
3 # BioPerl module for Bio::DBLinkContainerI
5 # Please direct questions and support issues to <bioperl-l@bioperl.org>
7 # Cared for by Heikki Lehvaslaiho <heikki-at-bioperl-dot-org>
9 # Copyright Heikki Lehvaslaiho
11 # You may distribute this module under the same terms as perl itself
13 # POD documentation - main docs before the code
15 =head1 NAME
17 Bio::DBLinkContainerI - Abstract interface for any object wanting to use
18 database cross references
20 =head1 SYNOPSIS
22 # get an objects containing database cross reference
24 foreach $obj ( @objs ) {
25 if( $obj->isa('Bio::DBLinkContainerI') ) {
26 foreach $dblink ( $obj->each_DBLink() ) {
27 # do stuff
32 =head1 DESCRIPTION
34 This interface defines the functions one can expect for any object
35 wanting to use database cross-references. This class does not actually
36 provide any implemention, it just provides the definitions of what
37 methods one can call.
39 The database cross-references are implemented as L<Bio::Annotation::DBLink>
40 objects.
42 =head1 FEEDBACK
44 =head2 Mailing Lists
46 User feedback is an integral part of the evolution of this and other
47 Bioperl modules. Send your comments and suggestions preferably to one
48 of the Bioperl mailing lists. Your participation is much appreciated.
50 bioperl-l@bioperl.org - General discussion
51 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
53 =head2 Support
55 Please direct usage questions or support issues to the mailing list:
57 I<bioperl-l@bioperl.org>
59 rather than to the module maintainer directly. Many experienced and
60 reponsive experts will be able look at the problem and quickly
61 address it. Please include a thorough description of the problem
62 with code and data examples if at all possible.
64 =head2 Reporting Bugs
66 Report bugs to the Bioperl bug tracking system to help us keep track
67 the bugs and their resolution. Bug reports can be submitted via the
68 web:
70 http://bugzilla.open-bio.org/
72 =head1 AUTHOR - Heikki Lehvaslaiho
74 Email: heikki-at-bioperl-dot-org
76 =head1 APPENDIX
78 The rest of the documentation details each of the object
79 methods. Internal methods are usually preceded with a _
81 =cut
83 # Let the code begin...
85 package Bio::DBLinkContainerI;
86 use strict;
88 use Carp;
90 use base qw(Bio::Root::RootI);
92 =head2 each_DBLink
94 Title : each_DBLink
95 Usage : foreach $ref ( $self->each_DBlink() )
96 Function: gets an array of DBlink of objects
97 Example :
98 Returns : an array of Bio::Annotation::DBLink objects
99 Args : none
102 =cut
104 sub each_DBLink{
105 my ($self) = @_;
106 my $class = ref($self) || $self;
107 $self->throw("Class $class did not define method 'each_DBLink' for interface DBLinkContainerI");