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::MH::Index(3User Contributed Perl DocumentaMail::Box::MH::Index(3pm)



NAME
       Mail::Box::MH::Index - keep index files for messages.

INHERITANCE
        Mail::Box::MH::Index
          is a Mail::Reporter

SYNOPSIS
        my $index = Mail::Box::MH::Index->new;
        $index->read(...)
        $index->write(...)

DESCRIPTION
       Message folders which store their data in one single file per message
       are very inefficient for producing subject overviews and for computing
       message threads.  The "Mail::Box::MH::Index" object is able to store
       and read a the headers of a set of "Mail::Box::MH::Message" messages
       which are part of a single "Mail::Box::MH" folder in one file.

       When the "Mail::Box::MH::Index" functionality is enabled by specifying
       Mail::Box::MH::new(keep_index) when opening a folder, the index file is
       automatically read.  When the folder is closed, a new index file is
       created.

       Special care is taken to avoid problems which occur when the user
       changes or removes message files without updating the index. If the
       index is not trustworthy it will not be used (costing some performance
       for the reader of the folder).

METHODS
       Constructors

       Mail::Box::MH::Index->new(OPTIONS)

        Option   --Defined in     --Default
        filename                    <required>
        head_type                   Mail::Message::Head::Subset
        head_wrap                   72
        log        Mail::Reporter   'WARNINGS'
        trace      Mail::Reporter   'WARNINGS'

           . filename => FILENAME

               The FILENAME which is used to store the headers of all the
               e-mails for one folder. This must be an absolute pathname.

           . head_type => CLASS

               The type of headers which will be used to store header
               information when it is read from the index file.  You can not
               be sure the index contains all header line (the mailbox may
               have been updated without updating the index) so this will
               usually be (an sub-class of) Mail::Message::Head::Subset.

           . head_wrap => INTEGER

               The preferred number of character in each header line.

           . log => LEVEL

           . trace => LEVEL

       The Index

       $obj->append(MESSAGES)

           Append MESSAGES to the index file.

       $obj->filename

           Returns the name of the index file.

       $obj->get(MSGFILE)

           Look if there is header info for the specified MSGFILE.  The
           filename represents one message in folder type which are organized
           as directory.  This method will return an object of the
           new(head_type) as specified during creation of the index object, or
           "undef" if the information is not known or not trustworthy -i.e.
           the file size changed.

       $obj->read

           Read the index file.  The header objects can after this be
           requested with the get() method.

       $obj->write(MESSAGES)

           Write an index file containing the headers specified MESSAGES
           (Mail::Message objects).

       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::MH::Index->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::MH::Index->log([LEVEL [,STRINGS]])

           See "Error handling" in Mail::Reporter

       $obj->logPriority(LEVEL)

       Mail::Box::MH::Index->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: 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.

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::MH::Index(3pm)