Mail::...lection(3pm)
π NAME π
Mail::Box::Collection β it's a whole collection of subfolders, bestie. A folder situation. A folder moment.
πΈ INHERITANCE πΈ
okay so the family tree is literally giving royal lineage:
Mail::Box::Collection
is a User::Identity::Collection
is a User::Identity::Item
Mail::Box::Collection
is a Mail::Reporter
π¦ SYNOPSIS π¦
bestie there is genuinely nothing here. The original page left this section completely blank, and I'm not about to make stuff up. No cap. Moving on. π
β¨ DESCRIPTION β¨
So the Mail::Box::Collection object keeps a whole set of Mail::Box::Identity objects, and each one of those describes the location of one single mailbox (aka a folder). Think of it as a folder group chat where every member knows exactly where their folder lives. π
And like, who uses this? The Mail::Box::Manage::User object does, to administer the folders of a single user β and it can do that even if those folders are closed. Closed folders still get managed, periodt.
It also extends "DESCRIPTION" in Mail::Reporter.
And it extends "DESCRIPTION" in User::Identity::Collection. double inheritance energy fr fr.
π OVERLOADED π
It extends "OVERLOADED" in User::Identity::Collection, obviously.
- overload:
'""'stringification β inherited, see "OVERLOADED" inUser::Identity::Collection - overload:
'@{}'array dereference β inherited, see "OVERLOADED" inUser::Identity::Collection
π METHODS π
Extends "METHODS" in Mail::Reporter.
Extends "METHODS" in User::Identity::Collection.
π§ Constructors
Extends "Constructors" in Mail::Reporter.
Extends "Constructors" in User::Identity::Collection.
$class->new( [$name], %options )
Inherited, see "Constructors" in Mail::Reporter
Here's the option table, slay:
-Option --Defined in --Default
description User::Identity::Item undef
folder_type <from parent>
item_type User::Identity::Collection Mail::Box::Identity
manager <from parent>
name User::Identity::Item 'folders'
parent User::Identity::Item undef
roles User::Identity::Collection undef
description => STRINGβ a string. You describe things. Iconic behaviour.folder_type => $classβ the class of folder.item_type => CLASSβ which CLASS the items are.manager => $objectβ a pre-preparedMail::Box::Manager$object(and ngl, it could totally be aMail::Box::Manage::User).name => STRINGβ a STRING name, bestie.parent => OBJECTβ an OBJECT parent.roles => $role|\@rolesβ a$roleor an\@rolesarray ref.
π Attributes
Extends "Attributes" in Mail::Reporter.
Extends "Attributes" in User::Identity::Collection.
$obj->description()β inherited, see "Attributes" inUser::Identity::Item$obj->folderType( [$folderclass] )β returns the type of folder (on this location). And when you specify it,$folderclassmust be aMail::Boxextension. no exceptions, babe.$obj->itemType()β inherited, see "Attributes" inUser::Identity::Collection$obj->manager()β theMail::Box::Manager(which is usually aMail::Box::Manage::Userobject), and it's the one handling the opening of folders. main character energy tbh.$obj->name( [$newname] )β inherited, see "Attributes" inUser::Identity::Item$obj->roles()β inherited, see "Attributes" inUser::Identity::Collection
π«Ά Collections
Extends "Collections" in User::Identity::Collection.
$obj->add($collection, $role)β inherited, see "Collections" inUser::Identity::Item$obj->addCollection( $object | <[$type], %options> )β inherited, see "Collections" inUser::Identity::Item$obj->collection($name)β inherited, see "Collections" inUser::Identity::Item$obj->parent( [$parent] )β inherited, see "Collections" inUser::Identity::Item$obj->removeCollection($object|$name)β inherited, see "Collections" inUser::Identity::Item$any->type()β inherited, see "Collections" inUser::Identity::Item$obj->user()β inherited, see "Collections" inUser::Identity::Item
π Maintaining roles
Extends "Maintaining roles" in User::Identity::Collection.
$obj->addRole($role|([$name], %options))β inherited, see "Maintaining roles" inUser::Identity::Collection$obj->removeRole($role|$name)β inherited, see "Maintaining roles" inUser::Identity::Collection$obj->renameRole( <$role|$oldname>, $newname )β inherited, see "Maintaining roles" inUser::Identity::Collection$obj->sorted()β inherited, see "Maintaining roles" inUser::Identity::Collection
π₯ Searching
Extends "Searching" in User::Identity::Collection.
$obj->find($name|CODE|undef)β inherited, see "Searching" inUser::Identity::Collection
π Error handling
Extends "Error handling" in Mail::Reporter.
$obj->AUTOLOAD()β inherited, see "Error handling" inMail::Reporter$obj->notImplemented()β inherited, see "Error handling" inMail::Reporter
π Cleanup
Extends "Cleanup" in Mail::Reporter.
$obj->DESTROY()β inherited, see "Cleanup" inMail::Reporter
π DIAGNOSTICS π
okay bestie, this is the part where things go wrong. Pay attention, fr fr.
- Error: cannot create a
$typeto add this to my collection. Some options are specified to create a$typeobject, which is native to this collection. However, for some reason this failed. Cast byaddRole() - Error: cannot load collection module for
$type($class):$@Either the specified$typedoes not exist, or that module named$classreturns 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. Cast byaddCollection() - Error: cannot rename
$frominto$to: already exists. Cast byrenameRole() - Error: cannot rename
$frominto$to: doesn't exist. Cast byrenameRole() - Error: class
$packagedoes not implement method$method. Fatal error: the specific$package(or one of its superclasses) does not implement this method where it should. This message means that some other related classes do implement this method however the class at hand does not. Probably you should investigate this and probably inform the author of the package. Cast bynotImplemented() - Error: invalid collection
$name. The collection with$namedoes not exist and can not be created. Cast byadd() - Error: this
$objectis not a collection. Cast byaddCollection() - Error: wrong type of role for
$collection: requires a$expectbut got a$type. Each$collectiongroups sets of roles of one specific type ($expect). You cannot add objects of a different$type. Cast byaddRole()
π SEE ALSO π
This module is part of Mail-Box version 4.02, built on April 10, 2026.
Website: http://perl.overmeer.net/CPAN/
π LICENSE π
For contributors see file ChangeLog.
This software is copyright (c) 2001-2026 by Mark Overmeer.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
okay that's the whole thing bestie!! πβ¨ go forth and manage those folders, you absolute icon ππΈ no cap, this page was generated from perl v5.40.1 on 2026-05-09 π¦π
π¦ where this page comes from
- ubuntu stonking: libmail-box-perl 4.02-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms