NAME
PerlBean::Collection - contains a ccollection of PerlBean objects
SYNOPSIS
use strict;
use PerlBean;
use PerlBean::Collection;
use PerlBean::Attribute::Factory;
my $bean = PerlBean->new ({
package => 'Athlete',
});
my $factory = PerlBean::Attribute::Factory->new ();
my $attr = $factory->createAttribute ({
attribute_name => 'name',
short_description => 'the name of the athlete',
});
$bean->addAttribute ($attr);
my $bean2 = PerlBean->new ({
package => 'Cyclist',
base => [ qw (Athlete)],
});
my $factory = PerlBean::Attribute::Factory->new ();
my $attr2 = $factory->createAttribute ({
attribute_name => 'cycle',
short_description => 'the cyclist\'s cycle',
});
$bean2->addAttribute ($attr2);
my $collection = PerlBean::Collection->new ();
$collection->addPerlBean ($bean);
$collection->addPerlBean ($bean2);
$collection->write ('tmp');
ABSTRACT
Code hierarchy generation for bean like Perl modules
DESCRIPTION
PerlBean::Collection
contains a collection of PerlBean
objects in order to generate an hierarchy of Perl modules.
CONSTRUCTOR
- new ([OPT_HASH_REF])
-
Creates a new
PerlBean::Collection
object.OPT_HASH_REF
is a hash reference used to pass initialization options. On error an exceptionError::Simple
is thrown.Options for
OPT_HASH_REF
may include:license
-
Passed to "setLicense ()".
perl_bean
-
Passed to "setPerlBean ()". Must be an
ARRAY
reference.
METHODS
- write (DIRECTORY)
-
Write the hierarchy of Perl class code to
DIRECTORY
.DIRECTORY
is a directory name. On error an exceptionError::Simple
is thrown. - setLicense (VALUE)
-
Set the software license for the PerlBean collection.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - getLicense ()
-
Returns the software license for the PerlBean collection.
- setPerlBean ([VALUE ...])
-
Set the list of PerlBean objects in the collection absolutely using values. Each
VALUE
is an object out of which the id is obtained through methodgetPackage ()
. The obtained key is used to store the value and may be used for deletion and to fetch the value. 0 or more values may be supplied. Multiple occurences of the same key yield in the last occuring key to be inserted and the rest to be ignored. Each key of the specified values is allowed to occur only once. On error an exceptionError::Simple
is thrown. - addPerlBean ([VALUE ...])
-
Add additional values on the list of PerlBean objects in the collection. Each
VALUE
is an object out of which the id is obtained through method()
. The obtained key is used to store the value and may be used for deletion and to fetch the value. 0 or more values may be supplied. Multiple occurences of the same key yield in the last occuring key to be inserted and the rest to be ignored. Each key of the specified values is allowed to occur only once. On error an exceptionError::Simple
is thrown. - deletePerlBean (ARRAY)
-
Delete elements from the list of PerlBean objects in the collection. Returns the number of deleted elements. On error an exception
Error::Simple
is thrown. - existsPerlBean (ARRAY)
-
Returns the count of items in
ARRAY
that are in the list of PerlBean objects in the collection. - keysPerlBean ()
-
Returns an
ARRAY
containing the keys of the list of PerlBean objects in the collection. - valuesPerlBean ([KEY_ARRAY])
-
Returns an
ARRAY
containing the values of the list of PerlBean objects in the collection. IfKEY_ARRAY
contains one or moreKEY
s the values related to theKEY
s are returned. If noKEY
s specified all values are returned.
SEE ALSO
PerlBean, PerlBean::Attribute, PerlBean::Attribute::Boolean, PerlBean::Attribute::Factory, PerlBean::Attribute::Multi, PerlBean::Attribute::Multi::Ordered, PerlBean::Attribute::Multi::Unique, PerlBean::Attribute::Multi::Unique::Associative, PerlBean::Attribute::Multi::Unique::Associative::MethodKey, PerlBean::Attribute::Multi::Unique::Ordered, PerlBean::Attribute::Single, PerlBean::Method
BUGS
None known (yet.)
HISTORY
First development: December 2002
AUTHOR
Vincenzo Zocca
COPYRIGHT
Copyright 2002, 2003 by Vincenzo Zocca
LICENSE
This file is part of the PerlBean
module hierarchy for Perl by Vincenzo Zocca.
The PerlBean module hierarchy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
The PerlBean module hierarchy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the PerlBean module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA