Provided by: libbio-perl-perl_1.7.2-3_all bug

NAME

       Bio::Annotation::AnnotationFactory - Instantiates a new Bio::AnnotationI (or derived
       class) through a factory

SYNOPSIS

           use Bio::Annotation::AnnotationFactory;
           #
           my $factory = Bio::Annotation::AnnotationFactory->new(
                           -type => 'Bio::Annotation::SimpleValue');
           my $ann = $factory->create_object(-value => 'peroxisome',
                                             -tagname => 'cellular component');

DESCRIPTION

       This object will build Bio::AnnotationI objects generically.

FEEDBACK

   Mailing Lists
       User feedback is an integral part of the evolution of this and other Bioperl modules. Send
       your comments and suggestions preferably to the Bioperl mailing list.  Your participation
       is much appreciated.

         bioperl-l@bioperl.org                  - General discussion
         http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

   Support
       Please direct usage questions or support issues to the mailing list:

       bioperl-l@bioperl.org

       rather than to the module maintainer directly. Many experienced and reponsive experts will
       be able look at the problem and quickly address it. Please include a thorough description
       of the problem with code and data examples if at all possible.

   Reporting Bugs
       Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their
       resolution. Bug reports can be submitted via the web:

         https://github.com/bioperl/bioperl-live/issues

AUTHOR - Hilmar Lapp

       Email hlapp at gmx.net

CONTRIBUTORS

       This is mostly copy-and-paste with subsequent adaptation from Bio::Seq::SeqFactory by
       Jason Stajich. Most credits should in fact go to him.

APPENDIX

       The rest of the documentation details each of the object methods.  Internal methods are
       usually preceded with a _

   new
        Title   : new
        Usage   : my $obj = Bio::Annotation::AnnotationFactory->new();
        Function: Builds a new Bio::Annotation::AnnotationFactory object
        Returns : Bio::Annotation::AnnotationFactory
        Args    : -type => string, name of a L<Bio::AnnotationI> derived class.

       If type is not set the module guesses it based on arguments passed to method
       create_object.

   create_object
        Title   : create_object
        Usage   : my $seq = $factory->create_object(<named parameters>);
        Function: Instantiates new Bio::AnnotationI (or one of its child classes)

                  This object allows us to genericize the instantiation of
                  cluster objects.

        Returns : L<Bio::AnnotationI> compliant object
                  The return type is configurable using new(-type =>"...").
        Args    : initialization parameters specific to the type of annotation
                  object we want.

   type
        Title   : type
        Usage   : $obj->type($newval)
        Function: Get/set the type of L<Bio::AnnotationI> object to be created.

                  This may be changed at any time during the lifetime of this
                  factory.

        Returns : value of type
        Args    : newvalue (optional)

   _guess_type
        Title   : _guess_type
        Usage   :
        Function: Guesses the right type of L<Bio::AnnotationI> implementation
                  based on initialization parameters for the prospective
                  object.
        Example :
        Returns : the type (a string, the module name)
        Args    : initialization parameters to be passed to the prospective
                  cluster object