NAME
Data::Container - base class for objects containing a list of items
SYNOPSIS
package My::Container;
use base 'Data::Container';
...
package main;
my $container = My::Container->new;
$container->items_push(...);
DESCRIPTION
This class implements a container object. The container can contain any object, scalar or reference you like. Typically you would subclass Data::Container and implement custom methods for your specific copntainer.
When the container is stringified, it returns the concatenated stringifications of its items, each two items joined by two newlines.
METHODS
- new
-
Creates and returns a new object. The constructor will accept as arguments a list of pairs, from component name to initial value. For each pair, the named component is initialized by calling the method of the same name with the given value.
- items
-
An array accessor. See Class::Accessor::Complex-mk_array_accessors()> for details on related methods provided.
items()
is used to access the items contained in the container. - items_set_push
-
Like
items_push()
, and it also takes a list of items to push into the container, but it doesn't push any items that are already in the container (items are compared deeply to determine equality). - item_grep
-
Given a package name, it returns those items from the container whose
ref()
is equal to that package name.For example, your container could contain some items of type
My::Item::Foo
and some of typeMy::Item::Bar
. If you only want a list of the items of typeMy::Item::Foo
, you could use:my @foo_items = $container->item_grep('My::Item::Foo');
BUGS AND LIMITATIONS
No bugs have been reported.
Please report any bugs or feature requests to bug-data-container@rt.cpan.org
, or through the web interface at http://rt.cpan.org.
INSTALLATION
See perlmodinstall for information and options on installing Perl modules.
AVAILABILITY
The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you. Or see <http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/>.
AUTHOR
Marcel Grünauer, <marcel@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2007 by Marcel Grünauer
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.