# User::Identity::Collection::Emails - phpMan

## NAME
    [User::Identity::Collection::Emails] - a collection of email roles

## INHERITANCE
     [User::Identity::Collection::Emails]
       is a [User::Identity::Collection]
       is a [User::Identity::Item]

## SYNOPSIS
## DESCRIPTION
    The "[User::Identity::Collection::Emails]" object maintains a set
    [Mail::Identity] objects, each describing a role which the user has in
    e-mail traffic.

    Extends "DESCRIPTION" in [User::Identity::Collection].

## OVERLOADED
    Extends "OVERLOADED" in [User::Identity::Collection].

    overload: @{}
        Inherited, see "OVERLOADED" in [User::Identity::Collection]

    overload: stringification
        Inherited, see "OVERLOADED" in [User::Identity::Collection]

## METHODS
    Extends "METHODS" in [User::Identity::Collection].

  Constructors
    Extends "Constructors" in [User::Identity::Collection].

    [User::Identity::Collection::Emails]->new( [$name], %options )
         -Option     --Defined in                --Default
          description  [User::Identity::Item]        undef
          item_type    [User::Identity::Collection]  [Mail::Identity]
          name         [User::Identity::Item]        'emails'
          parent       [User::Identity::Item]        undef
          roles        [User::Identity::Collection]  undef

        description => STRING
        item_type => CLASS
        name => STRING
        parent => OBJECT
        roles => ROLE|ARRAY

  Attributes
    Extends "Attributes" in [User::Identity::Collection].

    $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].

    $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()
    [User::Identity::Collection::Emails]->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].

    $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].

    $obj->find($name|CODE|undef)
        Inherited, see "Searching" in [User::Identity::Collection]

## 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 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 User-Identity distribution version 1.01, built on
    February 11, 2022. Website: <http://perl.overmeer.net/CPAN/>

## LICENSE
    Copyrights 2003-2022 by [Mark Overmeer <<markov@cpan.org>>]. 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/>

