Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Apropos / Subsearch:
optional field

Mail::Box::Identity(3pUser Contributed Perl DocumentatMail::Box::Identity(3pm)

       Mail::Box::Identity - represents an unopened folder

          is a User::Identity::Item

          is a Mail::Reporter

        use User::Identity;
        use Mail::Box::Identity;
        my $me   = User::Identity->new(...);

        my $mailbox = Mail::Box::Identity->new(...);
        $me->add(folders => $mailbox);

        # Simpler

        use User::Identity;
        my $me   = User::Identity->new(...);
        my $addr = $me->add(folders => ...);

       The "Mail::Box::Identity" object contains the description of a single
       mailbox.  The mailboxes are collected by an Mail::Box::Collection
       object.  This corresponds with IMAP's "\NoSelect", for instance.

       Nearly all methods can return undef.


       Mail::Box::Identity->new([NAME], OPTIONS)

        Option     --Defined in     --Default
        deleted                       <false>
        description  User::Identity::Item  undef
        folder_type                   from parent
        inferiors                     1
        location                      undef
        log          Mail::Reporter   'WARNINGS'
        manager                       <from parent>
        marked                        undef
        name         User::Identity::Item  <required>
        only_subs                     <foldertype and name dependent>
        parent       User::Identity::Item  undef
        subf_type                     <same as parent>
        trace        Mail::Reporter   'WARNINGS'

           . deleted => BOOLEAN

               The folder is flagged for deletion.  This not have any
               implications yet, because it may still get undeleted.

           . description => STRING

           . folder_type => CLASS

           . inferiors => BOOLEAN

               Can this folder have childs?  If not, this is cleared.

           . location => DIRECTORY|FILENAME

               The location of this folder.  Often, only the manager can
               figure-out where this folder really is.

           . log => LEVEL

           . manager => OBJECT

               Any Mail::Box::Manager or Mail::Box::Manage::User OBJECT.

           . marked => BOOLEAN|"undef"

               Whether the folder is flagged for some reason, for instance
               because new messages have arrived.

           . name => STRING

           . only_subs => BOOLEAN

               Some folder types can have messages in their toplevel folder,
               other cannot. That determines the default.  See

           . parent => OBJECT

           . subf_type => CLASS

               The type for a subfolder collection, must extend CLASS

           . trace => LEVEL




           See "Attributes" in User::Identity::Item


           Returns the type of this folder.


           Returns the name of the folder, from the toplevel until this one,
           with the DELIMETER string between each level.  DELIMETER default to
           a forward slash (a "/").


           "Inferiors" are "subfolders".  When this flag is set, it is
           permitted to create subfolders.


           Returns the directory or filename of the folder.  If this is not
           pre-defined, it is computed based on the knowledge about the folder
           type.  Be sure to set the location of the toplevel folder to the
           folderdir of the user to get this to work.


           Returns the manager (usually a Mail::Box::Manage::User which owns
           the folders.  May be undefined, by default from parent.


           When something special has happened with the folder, this flag can
           be set (or cleared).  The "undef" status is an "unknown".  In the
           IMAP4 protocol, 0 will result in a "\Unmarked", a 1 results in a
           "\Marked", and "undef" in nothing.


           See "Attributes" in User::Identity::Item


           Than this folder be opened (without trying) or not?  The default
           depends on the folder type, and whether this is the toplevel folder
           or not.  See Mail::Box::topFolderWithMessages()


           Run up the tree to find the highest level folder.


       $obj->add(COLLECTION, ROLE)

           See "Collections" in User::Identity::Item

       $obj->addCollection(OBJECT | ([TYPE], OPTIONS))

           See "Collections" in User::Identity::Item


           See "Collections" in User::Identity::Item

       $obj->find(COLLECTION, ROLE)

           See "Collections" in User::Identity::Item


           See "Collections" in User::Identity::Item


           See "Collections" in User::Identity::Item



           See "Collections" in User::Identity::Item


           See "Collections" in User::Identity::Item




           Add a new folder into the administration.  With DATA, a new object
           will be instantiated first.  The identity is returned on success.

       $obj->folder([[NAME, ...], NAME])

           Returns the subfolder's object with NAME or "undef" if it does not
           exist.  When multiple NAMEs are added, those super folders are
           traverst first.  Without any NAME, the current object is returned

           example: get some folder

            my $a = $user->folders->folder('b', 'a');

            my $name  = "a:b:c";
            my $delim = ":";
            my $f = $user->folders->folder(split $delim, $name);


           For each of the subfolders found below this point call CODE.  This
           current folder is called first.  Be warned that you may find
           identities with the deleted() flag on.


           Open the folder which is described by this identity.  Returned is
           some Mail::Box.  The options are passed to


           Remove the folder (plus subfolders) with the NAME.  Without NAME,
           this "Mail::Box::Identity" itself is removed.

           The removed structure is returned, which is "undef" if not found.
           This is only an administrative remove, you still need a

       $obj->rename(FOLDER, [NEWSUBNAME])

           Move the folder to a different super-FOLDER, under a NEW SUBfolder

           example: renaming a folder

            my $top = $user->topfolder;
            my $new = $top->folder('xyz') or die;
            my $f   = $top->folder('abc', 'def')->rename($new, '123');

            print $f->name;      # 123
            print $f->fullname;  # =/xyz/123


           Convenience method: returns the names of the collected subfolders.


           Returns the subfolders or "undef" if there are none.  This
           information is lazy evaluated and cached.  In LIST context, the
           folder objects are returned (Mail::Box::Identity objects), in
           SCALAR context the collection, the Mail::Box::Collection.

       Error handling


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter

       $obj->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter

       $obj->log([LEVEL [,STRINGS]])

       Mail::Box::Identity->log([LEVEL [,STRINGS]])

           See "Error handling" in Mail::Reporter



           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter



           See "Cleanup" in Mail::Reporter


           See "Cleanup" in Mail::Reporter

       Error: $object is not a collection.

           The first argument is an object, but not of a class which extends

       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: 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.

       Error: It is not permitted to add subfolders to $name

           The inferiors() flag prohibits the creation of subfolders to this

       Warning: No collection $name

           The collection with $name does not exist and can not be created.

       Error: Package $package does not implement $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.

       Error: The toplevel folder cannot be removed this way

           The Mail::Box::Identity folder administration structure requires a
           top directory.  That top is registered somewhere (for instance by a
           Mail::Box::Manage::User).  If you need to remove the top, you have
           to look for a method of that object.

       Error: Toplevel directory requires explicit folder type

       Error: Toplevel directory requires explicit location

       This module is part of Mail-Box distribution version 2.082, built on
       April 28, 2008. Website: http://perl.overmeer.net/mailbox/

       Copyrights 2001-2008 by Mark Overmeer. For other contributors see

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.  See

perl v5.10.0                      2008-04-28          Mail::Box::Identity(3pm)