Provided by: libbio-perl-perl_1.7.8-1_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