unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

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

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



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

INHERITANCE
        Mail::Box::Identity
          is a User::Identity::Item

        Mail::Box::Identity
          is a Mail::Reporter

SYNOPSIS
        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 => ...);

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

METHODS
       Constructors

       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
               Mail::Box::topFolderWithMessages()

           . parent => OBJECT

           . subf_type => CLASS

               The type for a subfolder collection, must extend CLASS
               Mail::Box::Collection.

           . trace => LEVEL

       Attributes

       $obj->deleted({BOOLEAN])

       $obj->description

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

       $obj->folderType

           Returns the type of this folder.

       $obj->fullname([DELIMETER])

           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 "/").

       $obj->inferiors([BOOLEAN])

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

       $obj->location([FILENAME|DIRECTORY|undef])

           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.

       $obj->manager

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

       $obj->marked([BOOLEAN|undef])

           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.

       $obj->name([NEWNAME])

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

       $obj->onlySubfolders([BOOLEAN])

           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()

       $obj->topfolder

           Run up the tree to find the highest level folder.

       Collections

       $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->find(COLLECTION, ROLE)

           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::Box::Identity->type

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

       $obj->user

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

       Attributes

       Subfolders

       $obj->addSubfolder(Mail::Box::Identity|DATA)

           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);

       $obj->foreach(CODE)

           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.

       $obj->open(OPTIONS)

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

       $obj->remove([NAME])

           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
           Mail::Box::Manager::delete().

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

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

           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

       $obj->subfolderNames

           Convenience method: returns the names of the collected subfolders.

       $obj->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

       $obj->AUTOLOAD

           See "Error handling" in Mail::Reporter

       $obj->addReport(OBJECT)

           See "Error handling" in Mail::Reporter

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

       Mail::Box::Identity->defaultTrace([LEVEL]|[LOGLEVEL,
       TRACELEVEL]|[LEVEL, CALLBACK])

           See "Error handling" in Mail::Reporter

       $obj->errors

           See "Error handling" in Mail::Reporter

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

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

           See "Error handling" in Mail::Reporter

       $obj->logPriority(LEVEL)

       Mail::Box::Identity->logPriority(LEVEL)

           See "Error handling" in Mail::Reporter

       $obj->logSettings

           See "Error handling" in Mail::Reporter

       $obj->notImplemented

           See "Error handling" in Mail::Reporter

       $obj->report([LEVEL])

           See "Error handling" in Mail::Reporter

       $obj->reportAll([LEVEL])

           See "Error handling" in Mail::Reporter

       $obj->trace([LEVEL])

           See "Error handling" in Mail::Reporter

       $obj->warnings

           See "Error handling" in Mail::Reporter

       Cleanup

       $obj->DESTROY

           See "Cleanup" in Mail::Reporter

       $obj->inGlobalDestruction

           See "Cleanup" in Mail::Reporter

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

       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

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

LICENSE
       Copyrights 2001-2008 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



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