Bio::Factory ObjectBuilderI
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvs
Summary
Bio::Factory::ObjectBuilderI - Interface for an object builder
Package variables
No package variables defined.
Included modules
Carp
Inherit
Bio::Root::RootI
Synopsis
Give standard usage here
Description
An object builder is different from an object factory in that it
accumulates information for the object and finally, or constantly,
depending on the implementation, builds the object. It also allows for
implementations that can tell the information feed in which kind of
information the builder is interested in which not. In addition, the
implementation may choose to filter, transform, or completely ignore
certain content it is fed for certain slots.
Implementations will hence be mostly used by stream-based parsers to
parse only desired content, and/or skip over undesired entries.
Methods
want_slotDescriptionCode
add_slot_valueDescriptionCode
want_objectDescriptionCode
make_objectDescriptionCode
Methods description
want_slotcode    nextTop
 Title   : want_slot
Usage :
Function: Whether or not the object builder wants to populate the
specified slot of the object to be built.
The slot can be specified either as the name of the respective method, or the initialization parameter that would be otherwise passed to new() of the object to be built. Example : Returns : TRUE if the object builder wants to populate the slot, and FALSE otherwise. Args : the name of the slot (a string)
add_slot_valuecodeprevnextTop
 Title   : add_slot_value
Usage :
Function: Adds one or more values to the specified slot of the object
to be built.
Naming the slot is the same as for want_slot(). The object builder may further filter the content to be set, or even completely ignore the request. If this method reports failure, the caller should not add more values to the same slot. In addition, the caller may find it appropriate to abandon the object being built altogether. Example : Returns : TRUE on success, and FALSE otherwise Args : the name of the slot (a string) parameters determining the value to be set
want_objectcodeprevnextTop
 Title   : want_object
Usage :
Function: Whether or not the object builder is still interested in
continuing with the object being built.
If this method returns FALSE, the caller should not add any more values to slots, or otherwise risks that the builder throws an exception. In addition, make_object() is likely to return undef after this method returned FALSE. Example : Returns : TRUE if the object builder wants to continue building the present object, and FALSE otherwise. Args : none
make_objectcodeprevnextTop
 Title   : make_object
Usage :
Function: Get the built object.
This method is allowed to return undef if no value has ever been added since the last call to make_object(), or if want_object() returned FALSE (or would have returned FALSE) before calling this method. For an implementation that allows consecutive building of objects, a caller must call this method once, and only once, between subsequent objects to be built. I.e., a call to make_object implies 'end_object.' Example : Returns : the object that was built Args : none
Methods code
want_slotdescriptionprevnextTop
sub want_slot {
    shift->throw_not_implemented();
}
add_slot_valuedescriptionprevnextTop
sub add_slot_value {
    shift->throw_not_implemented();
}
want_objectdescriptionprevnextTop
sub want_object {
    shift->throw_not_implemented();
}
make_objectdescriptionprevnextTop
sub make_object {
    shift->throw_not_implemented();
}

1;
}
General documentation
FEEDBACKTop
Mailing ListsTop
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 Top
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 BugsTop
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://redmine.open-bio.org/projects/bioperl/
AUTHOR - Hilmar LappTop
Email hlapp at gmx.net
APPENDIXTop
The rest of the documentation details each of the object methods.
Internal methods are usually preceded with a _