maint: remove Travis stuff which has been replaced with Github actions (#325)
[bioperl-live.git] / lib / Bio / DescribableI.pm
blob50a87dcf80b0b7a24fe2553fa9e5d026f817ee70
3 # This module is licensed under the same terms as Perl itself. You use,
4 # modify, and redistribute it under the terms of the Perl Artistic License.
7 =head1 NAME
9 Bio::DescribableI - interface for objects with human readable names and descriptions
11 =head1 SYNOPSIS
14 # to test this is a describable object
16 $obj->isa("Bio::DescribableI") ||
17 $obj->throw("$obj does not implement the Bio::DescribableI interface");
19 # accessors
21 $name = $obj->display_name();
22 $desc = $obj->description();
26 =head1 DESCRIPTION
28 This interface describes methods expected on describable objects, ie
29 ones which have human displayable names and descriptions
31 =head1 FEEDBACK
33 =head2 Mailing Lists
35 User feedback is an integral part of the evolution of this and other
36 Bioperl modules. Send your comments and suggestions preferably to one
37 of the Bioperl mailing lists. Your participation is much appreciated.
39 bioperl-l@bioperl.org - General discussion
40 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
42 =head2 Support
44 Please direct usage questions or support issues to the mailing list:
46 I<bioperl-l@bioperl.org>
48 rather than to the module maintainer directly. Many experienced and
49 reponsive experts will be able look at the problem and quickly
50 address it. Please include a thorough description of the problem
51 with code and data examples if at all possible.
53 =head2 Reporting Bugs
55 Report bugs to the Bioperl bug tracking system to help us keep track
56 the bugs and their resolution. Bug reports can be submitted via the web:
58 https://github.com/bioperl/bioperl-live/issues
60 =head1 AUTHOR - Ewan Birney
62 Email birney@sanger.ac.uk
64 =cut
66 package Bio::DescribableI;
68 use strict;
71 use base qw(Bio::Root::RootI);
73 =head1 Implementation Specific Functions
75 These functions are the ones that a specific implementation must
76 define.
78 =head2 display_name
80 Title : display_name
81 Usage : $string = $obj->display_name()
82 Function: A string which is what should be displayed to the user
83 the string should have no spaces (ideally, though a cautious
84 user of this interface would not assume this) and should be
85 less than thirty characters (though again, double checking
86 this is a good idea)
87 Returns : A scalar
88 Status : Virtual
90 =cut
92 sub display_name {
93 my ($self) = @_;
94 $self->throw_not_implemented();
98 =head2 description
100 Title : description
101 Usage : $string = $obj->description()
102 Function: A text string suitable for displaying to the user a
103 description. This string is likely to have spaces, but
104 should not have any newlines or formatting - just plain
105 text. The string should not be greater than 255 characters
106 and clients can feel justified at truncating strings at 255
107 characters for the purposes of display
108 Returns : A scalar
109 Status : Virtual
111 =cut
113 sub description {
114 my ($self) = @_;
115 $self->throw_not_implemented();