Provided by: libmail-box-perl_2.110-1_all bug

NAME

       Mail::Message::Field::AddrGroup - A group of Mail::Message::Field::Address objects

INHERITANCE

        Mail::Message::Field::AddrGroup
          is a User::Identity::Collection::Emails
          is a User::Identity::Collection
          is a 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).

       See documentation in the base class.

OVERLOADED

       See documentation in the base class.

       overload: @{}()
           See "OVERLOADED" in User::Identity::Collection

       overload: stringification()
           Returns the string() value.

METHODS

       See documentation in the base class.

       $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
       See documentation in the base class.

       $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)
           See "Constructors" in User::Identity::Collection::Emails

   Attributes
       See documentation in the base class.

       $obj->description()
           See "Attributes" in User::Identity::Item

       $obj->itemType()
           See "Attributes" in User::Identity::Collection

       $obj->name([NEWNAME])
           See "Attributes" in User::Identity::Item

       $obj->roles()
           See "Attributes" in User::Identity::Collection

   Collections
       See documentation in the base class.

       $obj->add(COLLECTION, ROLE)
           See "Collections" in User::Identity::Item

       $obj->addCollection(OBJECT | ([TYPE], OPTIONS))
           See "Collections" in User::Identity::Item

       $obj->collection(NAME)
           See "Collections" in User::Identity::Item

       $obj->parent([PARENT])
           See "Collections" in User::Identity::Item

       $obj->removeCollection(OBJECT|NAME)
           See "Collections" in User::Identity::Item

       $obj->type()
       Mail::Message::Field::AddrGroup->type()
           See "Collections" in User::Identity::Item

       $obj->user()
           See "Collections" in User::Identity::Item

   Maintaining roles
       See documentation in the base class.

       $obj->addRole(ROLE| ( [NAME],OPTIONS ) | ARRAY-OF-OPTIONS)
           See "Maintaining roles" in User::Identity::Collection

       $obj->removeRole(ROLE|NAME)
           See "Maintaining roles" in User::Identity::Collection

       $obj->renameRole(ROLE|OLDNAME, NEWNAME)
           See "Maintaining roles" in User::Identity::Collection

       $obj->sorted()
           See "Maintaining roles" in User::Identity::Collection

   Searching
       See documentation in the base class.

       $obj->find(NAME|CODE|undef)
           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-Box distribution version 2.110, built on January 05, 2014.
       Website: http://perl.overmeer.net/mailbox/

LICENSE

       Copyrights 2001-2014 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://www.perl.com/perl/misc/Artistic.html