Provided by: libbio-eutilities-perl_1.75-4_all bug


       Bio::Tools::EUtilities::Summary::ItemContainerI - Abtract interface methods for accessing
       Item information from any Item-containing class. This pertains to either DocSums or to
       Items themselves (which can be layered).


       version 1.75


         # Implement ItemContainerI

         # $foo is any ItemContainerI (current implementations are DocSum and Item itself)

         while (my $item = $foo->next_Item) { # iterate through contained Items
            # do stuff here

         @items = $foo->get_Items;  # all Items in the container (hierarchy intact)
         @items = $foo->get_all_Items;  # all Items in the container (flattened)
         @items = $foo->get_Items_by_name('bar'); # Specifically named Items
         ($content) = $foo->get_contents_by_name('bar'); # content from specific Items
         ($type) = $foo->get_type_by_name('bar'); # data type from specific Items


       DocSum data, as returned from esummary, normally is a simple list of
       item-content-content_type groups. However, items can also contain nested data to represent
       more complex data (such as structural data). This interface describes the basic methods to
       generically retrieve the next layer of Item data. For convenience classes may describe
       more specific methods, but they should be defined in terms of this interface and it's

        Title    : next_Item
        Usage    : while (my $item = $docsum->next_Item) {...}
        Function : iterates through Items (nested layer of Item)
        Returns  : single Item
        Args     : [optional] single arg (string)
                   'flatten' - iterates through a flattened list ala

        Title    : get_Items
        Usage    : my @items = $docsum->get_Items
        Function : returns list of, well, Items
        Returns  : array of Items
        Args     : none

        Title    : get_all_Items
        Usage    : my @items = $docsum->get_all_Items
        Function : returns flattened list of all Item objects (Items, ListItems,
        Returns  : array of Items
        Args     : none
        Note     : items are added top-down (similar order to using nested calls)
                   in original list order.

                    1         2        7        8
                  Item  -   Item  -  Item  -  Item ...
                           | 3        6
                        ListItem - ListItem
                         | 4          5
                      Structure - Structure

        Title    : get_all_names
        Usage    : my @names = get_all_names()
        Function : Returns an array of names for all Item(s) in DocSum.
        Returns  : array of unique strings
        Args     : none

        Title    : get_Items_by_name
        Usage    : my @items = get_Items_by_name('CreateDate')
        Function : Returns named Item(s) in DocSum (indicated by passed argument)
        Returns  : array of Item objects
        Args     : string (Item name)

        Title    : get_contents_by_name
        Usage    : my ($data) = $eutil->get_contents_by_name('CreateDate')
        Function : Returns content for named Item(s) in DocSum (indicated by
                   passed argument)
        Returns  : array of values (type varies per Item)
        Args     : string (Item name)

        Title    : get_type_by_name
        Usage    : my $data = get_type_by_name('CreateDate')
        Function : Returns data type for named Item in DocSum (indicated by
                   passed argument)
        Returns  : scalar value (string) if present
        Args     : string (Item name)


   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.
                  - General discussion  - About the mailing lists

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

       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:


       Chris Fields <>


       This software is copyright (c) 2006-2013 by Chris Fields.

       This software is available under the same terms as the perl 5 programming language system

perl v5.26.2                                2Bio::Tools::EUtilities::Summary::ItemContainerI(3pm)