NAME

WebService::GData::Collection - Composite class redispatching method calls to query the items data.

SYNOPSIS

 use WebService::GData::Collection;

 #array ref of link nodes
 my $links = new WebService::GData::Collection($links);

 #search through the nodes for a certain value
 my $reponse_url = $links->rel('video.responses')->[0];

 #access the object as if it was an array reference
 $links->[0];
 
 #loop through it as if it was a normal array reference
 foreach my $link (@$links) {
     #$link->rel...
 }

DESCRIPTION

inherits from WebService::GData::BaseCollection

This package accepts an array reference containing identic nodes (link nodes, category nodes,video nodes...). Once feed with some data, you can call a node method by specifying a search string. The instance will simply redispatch the call to all its children and return any children that match(=~m/$search/) your query.

CONSTRUCTOR

new

    Create a Collection instance.

    Parameters

    collection:ArrayRef - (optional) an array reference of nodes or identic instances.

    Returns

    WebService::GData::Collection instance

    Example

    use WebService::GData::Collection;
    
    my $collection = new WebService::GData::Collection();
    
    $collection->[0] = new WebService::GData::Node::AuthorEntity();
    
    or
    my $collection = new WebService::GData::Collection(\@authors);     

OVERLOAD

    In order to fake array reference behavior, the array reference context is overloaded to return the actual array stored in the instance.

    Example

    use WebService::GData::Collection;
    
    my $authors = new WebService::GData::Collection(\@authors);     
    
    foreach my $author (@$authors) {
        $author->name;
    }
    
    push @$author,new WebService::GData::Node::AuthorEntity();

BUGS AND LIMITATIONS

If you do me the favor to _use_ this module and find a bug, please email me i will try to do my best to fix it (patches welcome)!

AUTHOR

shiriru <shirirulestheworld[arobas]gmail.com>

LICENSE AND COPYRIGHT

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.