Bio::F...Factory(3pm)
π NAME π
Bio::Factory::ObjectFactory β the girlboss factory that instantiates a brand new Bio::Root::RootI (or any class that derives from it) for you, no cap β¨
π¦ SYNOPSIS π¦
use Bio::Factory::ObjectFactory;
my $factory = Bio::Factory::ObjectFactory->new(-type => 'Bio::Ontology::GOterm');
my $term = $factory->create_object(-name => 'peroxisome',
-ontology => 'Gene Factory',
-identifier => 'GO:0005777');
like bestie, that's the whole vibe right there π«Ά
πΈ DESCRIPTION πΈ
okay so this object literally builds Bio::Root::RootI objects generically. it's giving "one factory, infinite glow-ups" π
π FEEDBACK π
π Mailing Lists π
bestie your feedback is integral to the evolution of this and other Bioperl modules, fr fr π send your comments and suggestions preferably to the Bioperl mailing list. your participation is much appreciated, and we mean it π
bioperl-l@bioperl.org - General discussion
http://bioperl.org/wiki/Mailing_lists - About the mailing lists
π«Ά Support π«Ά
pls pls pls direct usage questions or support issues to the mailing list:
bioperl-l@bioperl.org
rather than to the module maintainer directly π the way that there are so many experienced and responsive experts who will be able look at the problem and quickly address it... iconic. please include a thorough description of the problem with code and data examples if at all possible, tysm π
π Reporting Bugs π
report bugs to the Bioperl bug tracking system so we can keep track of the bugs and their resolution, no bug left behind β¨ bug reports can be submitted via the web:
https://github.com/bioperl/bioperl-live/issues
π AUTHOR - Hilmar Lapp π
Email: hlapp at gmx.net β yes the man himself π
β CONTRIBUTORS β
ngl this is mostly copy-and-paste with subsequent adaptation from Bio::Seq::SeqFactory by Jason Stajich. most credits should in fact go to him π₯° king behavior, periodt.
π APPENDIX π
the rest of the documentation details each of the object methods. internal methods are usually preceded with a _ (iykyk π§)
β¨ new β¨
Title : new
Usage : my $obj = Bio::Factory::ObjectFactory->new();
Function: Builds a new Bio::Factory::ObjectFactory object
Returns : Bio::Factory::ObjectFactory
Args : -type => string, name of a L<Bio::Root::RootI> derived class.
There is no default.
-interface => string, name of the interface or class any type
specified needs to at least implement.
The default is Bio::Root::RootI.
so like, -type has no default β you gotta tell her what to build, bestie, she's not a mind reader π and -interface defaults to Bio::Root::RootI π
π create_object π
Title : create_object
Usage : my $seq = $factory->create_object(<named parameters>);
Function: Instantiates a new object of the previously set type.
This object allows us to genericize the instantiation of
objects.
You must have provided -type at instantiation, or have
called type($mytype) before you can call this method.
Returns : an object of the type returned by type()
The return type is configurable using new(-type =>"..."),
or by calling $self->type("My::Fancy::Class").
Args : Initialization parameters specific to the type of
object we want. Check the POD of the class you set as type.
β οΈ okay important: you must have provided-typeat instantiation, or have calledtype($mytype)before you can call this method. no type = no object. she will simply not manifest it for you π
the return type is configurable using new(-type =>"..."), or by calling $self->type("My::Fancy::Class") β main character energy tbh π
π« type π«
Title : type
Usage : $obj->type($newval)
Function: Get/set the type of object to be created.
This may be changed at any time during the lifetime of this
factory.
Returns : value of type (a string)
Args : newvalue (optional, a string)
get/set the type of object to be created β¨ and yes she's flexible β this may be changed at any time during the lifetime of this factory. glow-up whenever, bestie π
π¦ interface π¦
Title : interface
Usage : $obj->interface($newval)
Function: Get/set the interface or base class that supplied types
must at least implement (inherit from).
Example :
Returns : value of interface (a scalar)
Args : on set, new value (a scalar or undef, optional)
π₯ _validate_type π₯
Title : _validate_type
Usage : $factory->_validate_type($object)
Function: Called to let derived factories validate the type set
via type().
The default implementation here checks whether the supplied
object skeleton implements the interface set via -interface
upon factory instantiation.
Example :
Returns : TRUE if the type is to be considered valid, and FALSE otherwise.
Instead of returning FALSE this method may also just throw
an informative exception.
The default implementation here will throw an exception
if the supplied object does not inherit from the interface
provided by the interface() method.
Args : A hash reference blessed into the specified type, allowing
queries like isa().
so this one's the internal vibe check π§ derived factories get to validate the type set via type(). the default implementation here checks whether the supplied object skeleton implements the interface set via -interface upon factory instantiation.
it returns TRUE if the type is to be considered valid, and FALSE otherwise β tho instead of returning FALSE this method may also just throw an informative exception, dramatic queen π
β οΈ and fr fr: the default implementation here will throw an exception if the supplied object does not inherit from the interface provided by the interface() method. not a drill, bestie.
args: a hash reference blessed into the specified type, allowing queries like isa() π
and that's the whole page, bestie!! π this is Bio::F...Factory(3pm), one of the User Contributed Perl Documentation pages, straight out of perl v5.32.1 dated 2021-08-15 β thank you for coming to my ted talk, mwah πβ¨
π¦ where this page comes from
- debian bookworm: libbio-perl-perl 1.7.8-1 Β· Perl
- debian trixie: libbio-perl-perl 1.7.8-1 Β· Perl
- ubuntu jammy: libbio-perl-perl 1.7.8-1 Β· Perl
- ubuntu noble: libbio-perl-perl 1.7.8-1 Β· Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms