Provided by: libmail-message-perl_3.006-1_all
NAME
Mail::Message::Field::AddrGroup - A group of Mail::Message::Field::Address objects
INHERITANCE
Mail::Message::Field::AddrGroup is an User::Identity::Collection::Emails is an User::Identity::Collection is an User::Identity::Item
SYNOPSIS
my $g = Mail::Message::Field::AddrGroup->new(name => 'name'); my $a = Mail::Message::Field::Address->new(...); $g->addAddress($a); my $f = Mail::Message::Field::Addresses->new; $f->addGroup($g);
DESCRIPTION
An address group collects a set of e-mail addresses (in this case they are Mail::Message::Field::Address objects). Extends "DESCRIPTION" in User::Identity::Collection::Emails.
OVERLOADED
Extends "OVERLOADED" in User::Identity::Collection::Emails. overload: @{} Inherited, see "OVERLOADED" in User::Identity::Collection overload: stringification Returns the string() value. overload: stringification Inherited, see "OVERLOADED" in User::Identity::Collection
METHODS
Extends "METHODS" in User::Identity::Collection::Emails. $obj->string() Returns the address group as string. When no name is specified, it will only be a comma separated list of addresses. With a name, the groups name will be prepended and a semi-colon appended. When no addresses where included and there is no name, then "undef" is returned. Constructors Extends "Constructors" in User::Identity::Collection::Emails. $obj->coerce($object) Coerce an $object into a Mail::Message::Field::AddrGroup. Currently, you can only coerce User::Identity::Collection::Emails (which is the base class for this one) into this one. Mail::Message::Field::AddrGroup->new( [$name], %options ) Inherited, see "Constructors" in User::Identity::Collection::Emails Attributes Extends "Attributes" in User::Identity::Collection::Emails. $obj->description() Inherited, see "Attributes" in User::Identity::Item $obj->itemType() Inherited, see "Attributes" in User::Identity::Collection $obj->name( [$newname] ) Inherited, see "Attributes" in User::Identity::Item $obj->roles() Inherited, see "Attributes" in User::Identity::Collection Collections Extends "Collections" in User::Identity::Collection::Emails. $obj->add($collection, $role) Inherited, see "Collections" in User::Identity::Item $obj->addCollection( $object | <[$type], %options> ) Inherited, see "Collections" in User::Identity::Item $obj->collection($name) Inherited, see "Collections" in User::Identity::Item $obj->parent( [$parent] ) Inherited, see "Collections" in User::Identity::Item $obj->removeCollection($object|$name) Inherited, see "Collections" in User::Identity::Item $obj->type() Mail::Message::Field::AddrGroup->type() Inherited, see "Collections" in User::Identity::Item $obj->user() Inherited, see "Collections" in User::Identity::Item Maintaining roles Extends "Maintaining roles" in User::Identity::Collection::Emails. $obj->addRole($role| <[$name],%options> | ARRAY) Inherited, see "Maintaining roles" in User::Identity::Collection $obj->removeRole($role|$name) Inherited, see "Maintaining roles" in User::Identity::Collection $obj->renameRole( <$role|$oldname>, $newname ) Inherited, see "Maintaining roles" in User::Identity::Collection $obj->sorted() Inherited, see "Maintaining roles" in User::Identity::Collection Searching Extends "Searching" in User::Identity::Collection::Emails. $obj->find($name|CODE|undef) Inherited, see "Searching" in User::Identity::Collection Addresses $obj->addAddress(STRING|$address|%options) Add one e-mail address to the list which is maintained in the group. This is a wrapper around addRole() adding flexibility on how addresses are specified. An $address can be anything which is acceptable for Mail::Message::Field::Address::coerce() or a list of options which will create such an object. example: of adding an address to an address group my @data = (full_name => "Myself", address => 'me@tux.org'); $group->addAddress(@data); my $addr = Mail::Message::Field::Address->new(@data); $group->addAddress(@data); my $ma = Mail::Address->new(...); $group->addAddress($ma); $obj->addresses() Returns all addresses defined in this group. The addresses will be ordered alphabetically to make automated testing possible: roles are stored in a hash, so have an unpredictable order by default. example: getting all addresses from a group my @addrs = $group->addresses; my @addrs = map { $_->address } $self->roles; #same Error handling
DIAGNOSTICS
Error: $object is not a collection. The first argument is an object, but not of a class which extends User::Identity::Collection. Error: Cannot coerce a $type into a Mail::Message::Field::AddrGroup Error: Cannot create a $type to add this to my collection. Some options are specified to create a $type object, which is native to this collection. However, for some reason this failed. Error: Cannot load collection module for $type ($class). Either the specified $type does not exist, or that module named $class returns compilation errors. If the type as specified in the warning is not the name of a package, you specified a nickname which was not defined. Maybe you forgot the 'require' the package which defines the nickname. Error: Cannot rename $name into $newname: already exists Error: Cannot rename $name into $newname: doesn't exist Error: Creation of a collection via $class failed. The $class did compile, but it was not possible to create an object of that class using the options you specified. Error: Don't know what type of collection you want to add. If you add a collection, it must either by a collection object or a list of options which can be used to create a collection object. In the latter case, the type of collection must be specified. Warning: No collection $name The collection with $name does not exist and can not be created. Error: Wrong type of role for $collection: requires a $expect but got a $type Each $collection groups sets of roles of one specific type ($expect). You cannot add objects of a different $type.
SEE ALSO
This module is part of Mail-Message distribution version 3.006, built on January 24, 2018. Website: http://perl.overmeer.net/CPAN/
LICENSE
Copyrights 2001-2018 by [Mark Overmeer]. For other contributors see ChangeLog. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/