0
|
1 # $Id: DescribableI.pm,v 1.6 2002/10/25 01:29:37 lapp Exp $
|
|
2
|
|
3 #
|
|
4 # This module is licensed under the same terms as Perl itself. You use,
|
|
5 # modify, and redistribute it under the terms of the Perl Artistic License.
|
|
6 #
|
|
7
|
|
8 =head1 NAME
|
|
9
|
|
10 Bio::DescribableI - interface for objects with human readable names and descriptions
|
|
11
|
|
12 =head1 SYNOPSIS
|
|
13
|
|
14
|
|
15 # to test this is a describable object
|
|
16
|
|
17 $obj->isa("Bio::DescribableI") ||
|
|
18 $obj->throw("$obj does not implement the Bio::DescribableI interface");
|
|
19
|
|
20 # accessors
|
|
21
|
|
22 $name = $obj->display_name();
|
|
23 $desc = $obj->description();
|
|
24
|
|
25
|
|
26
|
|
27 =head1 DESCRIPTION
|
|
28
|
|
29 This interface describes methods expected on describable objects, ie
|
|
30 ones which have human displayable names and descriptions
|
|
31
|
|
32 =head1 FEEDBACK
|
|
33
|
|
34 =head2 Mailing Lists
|
|
35
|
|
36 User feedback is an integral part of the evolution of this and other
|
|
37 Bioperl modules. Send your comments and suggestions preferably to one
|
|
38 of the Bioperl mailing lists. Your participation is much appreciated.
|
|
39
|
|
40 bioperl-l@bioperl.org - General discussion
|
|
41 http://bio.perl.org/MailList.html - About the mailing lists
|
|
42
|
|
43 =head2 Reporting Bugs
|
|
44
|
|
45 Report bugs to the Bioperl bug tracking system to help us keep track
|
|
46 the bugs and their resolution. Bug reports can be submitted via email
|
|
47 or the web:
|
|
48
|
|
49 bioperl-bugs@bio.perl.org
|
|
50 http://bugzilla.bioperl.org/
|
|
51
|
|
52 =head1 AUTHOR - Ewan Birney
|
|
53
|
|
54 Email birney@sanger.ac.uk
|
|
55
|
|
56 =cut
|
|
57
|
|
58 package Bio::DescribableI;
|
|
59 use vars qw(@ISA );
|
|
60 use strict;
|
|
61 use Bio::Root::RootI;
|
|
62
|
|
63
|
|
64 @ISA = qw(Bio::Root::RootI);
|
|
65
|
|
66 =head1 Implementation Specific Functions
|
|
67
|
|
68 These functions are the ones that a specific implementation must
|
|
69 define.
|
|
70
|
|
71 =head2 display_name
|
|
72
|
|
73 Title : display_name
|
|
74 Usage : $string = $obj->display_name()
|
|
75 Function: A string which is what should be displayed to the user
|
|
76 the string should have no spaces (ideally, though a cautious
|
|
77 user of this interface would not assumme this) and should be
|
|
78 less than thirty characters (though again, double checking
|
|
79 this is a good idea)
|
|
80 Returns : A scalar
|
|
81 Status : Virtual
|
|
82
|
|
83 =cut
|
|
84
|
|
85 sub display_name {
|
|
86 my ($self) = @_;
|
|
87 $self->throw_not_implemented();
|
|
88 }
|
|
89
|
|
90
|
|
91 =head2 description
|
|
92
|
|
93 Title : description
|
|
94 Usage : $string = $obj->description()
|
|
95 Function: A text string suitable for displaying to the user a
|
|
96 description. This string is likely to have spaces, but
|
|
97 should not have any newlines or formatting - just plain
|
|
98 text. The string should not be greater than 255 characters
|
|
99 and clients can feel justified at truncating strings at 255
|
|
100 characters for the purposes of display
|
|
101 Returns : A scalar
|
|
102 Status : Virtual
|
|
103
|
|
104 =cut
|
|
105
|
|
106 sub description {
|
|
107 my ($self) = @_;
|
|
108 $self->throw_not_implemented();
|
|
109 }
|
|
110
|
|
111 1;
|