tag fourth (and hopefully last) alpha
[bioperl-live.git] / branch-1-6 / Bio / Biblio / Provider.pm
blob85e3e5e0cf444a74bd502cde54128f2c9f0ccfde
1 # $Id$
3 # BioPerl module for Bio::Biblio::Provider
5 # Please direct questions and support issues to <bioperl-l@bioperl.org>
7 # Cared for by Martin Senger <senger@ebi.ac.uk>
8 # For copyright and disclaimer see below.
10 # POD documentation - main docs before the code
12 =head1 NAME
14 Bio::Biblio::Provider - Representation of a general provider
16 =head1 SYNOPSIS
18 # usually this class is not instantiated but can be...
19 $obj = Bio::Biblio::Provider->new(-type => 'Department');
21 #--- OR ---
23 $obj = Bio::Biblio::Provider->new();
24 $obj->type ('Department');
26 =head1 DESCRIPTION
28 A storage object for a general bibliographic resource provider
29 (a rpovider can be a person, a organisation, or even a program).
31 =head2 Attributes
33 The following attributes are specific to this class,
34 and they are inherited by all provider types.
36 type
38 =head1 SEE ALSO
40 =over 4
42 =item *
44 OpenBQS home page: http://www.ebi.ac.uk/~senger/openbqs/
46 =item *
48 Comments to the Perl client: http://www.ebi.ac.uk/~senger/openbqs/Client_perl.html
50 =back
52 =head1 FEEDBACK
54 =head2 Mailing Lists
56 User feedback is an integral part of the evolution of this and other
57 Bioperl modules. Send your comments and suggestions preferably to
58 the Bioperl mailing list. Your participation is much appreciated.
60 bioperl-l@bioperl.org - General discussion
61 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
63 =head2 Support
65 Please direct usage questions or support issues to the mailing list:
67 I<bioperl-l@bioperl.org>
69 rather than to the module maintainer directly. Many experienced and
70 reponsive experts will be able look at the problem and quickly
71 address it. Please include a thorough description of the problem
72 with code and data examples if at all possible.
74 =head2 Reporting Bugs
76 Report bugs to the Bioperl bug tracking system to help us keep track
77 of the bugs and their resolution. Bug reports can be submitted via the
78 web:
80 http://bugzilla.open-bio.org/
82 =head1 AUTHORS
84 Heikki Lehvaslaiho (heikki-at-bioperl-dot-org),
85 Martin Senger (senger@ebi.ac.uk)
87 =head1 COPYRIGHT
89 Copyright (c) 2002 European Bioinformatics Institute. All Rights Reserved.
91 This module is free software; you can redistribute it and/or modify
92 it under the same terms as Perl itself.
94 =head1 DISCLAIMER
96 This software is provided "as is" without warranty of any kind.
98 =cut
101 # Let the code begin...
104 package Bio::Biblio::Provider;
105 use strict;
106 use vars qw($AUTOLOAD);
109 use base qw(Bio::Biblio::BiblioBase);
112 # a closure with a list of allowed attribute names (these names
113 # correspond with the allowed 'get' and 'set' methods); each name also
114 # keep what type the attribute should be (use 'undef' if it is a
115 # simple scalar)
118 my %_allowed =
120 _type => undef,
123 # return 1 if $attr is allowed to be set/get in this class
124 sub _accessible {
125 my ($self, $attr) = @_;
126 exists $_allowed{$attr};
129 # return an expected type of given $attr
130 sub _attr_type {
131 my ($self, $attr) = @_;
132 $_allowed{$attr};
137 __END__