ide/bioperl-mode: into its own repository to be developed separately
[bioperl-live.git] / Bio / DBLinkContainerI.pm
blob638e46902026ebcab5e168cd85d3ec66018b0c8f
2 # BioPerl module for Bio::DBLinkContainerI
4 # Please direct questions and support issues to <bioperl-l@bioperl.org>
6 # Cared for by Heikki Lehvaslaiho <heikki-at-bioperl-dot-org>
8 # Copyright Heikki Lehvaslaiho
10 # You may distribute this module under the same terms as perl itself
12 # POD documentation - main docs before the code
14 =head1 NAME
16 Bio::DBLinkContainerI - Abstract interface for any object wanting to use
17 database cross references
19 =head1 SYNOPSIS
21 # get an objects containing database cross reference
23 foreach $obj ( @objs ) {
24 if( $obj->isa('Bio::DBLinkContainerI') ) {
25 foreach $dblink ( $obj->each_DBLink() ) {
26 # do stuff
31 =head1 DESCRIPTION
33 This interface defines the functions one can expect for any object
34 wanting to use database cross-references. This class does not actually
35 provide any implementation, it just provides the definitions of what
36 methods one can call.
38 The database cross-references are implemented as L<Bio::Annotation::DBLink>
39 objects.
41 =head1 FEEDBACK
43 =head2 Mailing Lists
45 User feedback is an integral part of the evolution of this and other
46 Bioperl modules. Send your comments and suggestions preferably to one
47 of the Bioperl mailing lists. Your participation is much appreciated.
49 bioperl-l@bioperl.org - General discussion
50 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
52 =head2 Support
54 Please direct usage questions or support issues to the mailing list:
56 I<bioperl-l@bioperl.org>
58 rather than to the module maintainer directly. Many experienced and
59 reponsive experts will be able look at the problem and quickly
60 address it. Please include a thorough description of the problem
61 with code and data examples if at all possible.
63 =head2 Reporting Bugs
65 Report bugs to the Bioperl bug tracking system to help us keep track
66 the bugs and their resolution. Bug reports can be submitted via the
67 web:
69 https://github.com/bioperl/bioperl-live/issues
71 =head1 AUTHOR - Heikki Lehvaslaiho
73 Email: heikki-at-bioperl-dot-org
75 =head1 APPENDIX
77 The rest of the documentation details each of the object
78 methods. Internal methods are usually preceded with a _
80 =cut
82 # Let the code begin...
84 package Bio::DBLinkContainerI;
85 use strict;
87 use Carp;
89 use base qw(Bio::Root::RootI);
91 =head2 each_DBLink
93 Title : each_DBLink
94 Usage : foreach $ref ( $self->each_DBlink() )
95 Function: gets an array of DBlink of objects
96 Example :
97 Returns : an array of Bio::Annotation::DBLink objects
98 Args : none
101 =cut
103 sub each_DBLink{
104 my ($self) = @_;
105 my $class = ref($self) || $self;
106 $self->throw("Class $class did not define method 'each_DBLink' for interface DBLinkContainerI");