Provided by: libbio-eutilities-perl_1.77-1_all bug

NAME

       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

       version 1.77

SYNOPSIS

         # 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

DESCRIPTION

       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 methods.

   next_Item
        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
                                 get_all_DocSum_Items()

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

   get_all_Items
        Title    : get_all_Items
        Usage    : my @items = $docsum->get_all_Items
        Function : returns flattened list of all Item objects (Items, ListItems,
                   StructureItems)
        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

   get_all_names
        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

   get_Items_by_name
        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)

   get_contents_by_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)

   get_type_by_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)

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
         https://bioperl.org/Support.html    - 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/bio-eutilities/issues

AUTHOR

       Chris Fields <cjfields@bioperl.org>

COPYRIGHT

       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 itself.

perl v5.30.0                                       2020-03-1Bio::Tools::EUtilities::Summary::ItemContainerI(3pm)