=head1 NAME

Mail::Box::IMAP4::Head - header fields related IMAP interface

=head1 INHERITANCE

 Mail::Box::IMAP4::Head
   is a Mail::Message::Head
   is a Mail::Reporter

=head1 SYNOPSIS

=head1 DESCRIPTION

This class implements a pure IMAP4 protocol interface, where as few
data is retreived from the header as possible.  This may look nice
to you, but is not sufficient for many tasks.  For instance, you cannot
removed or modify fields this way.

Change L<Mail::Box::IMAP4::new(cache_head)|Mail::Box::IMAP4/"METHODS"> to C<YES> or C<DELAY>, to
get a message header which is capable of performing all possible
games with headers.  On the other hand: the other settings are not
100% safe...

=head1 OVERLOADED

overload: B<"">

=over 4

See L<Mail::Message::Head/"OVERLOADED">

=back

overload: B<bool>

=over 4

See L<Mail::Message::Head/"OVERLOADED">

=back

=head1 METHODS

=head2 Constructors

$obj-E<gt>B<build>([PAIR|FIELD]-LIST)

=over 4

See L<Mail::Message::Head/"Constructors">

=back

Mail::Box::IMAP4::Head-E<gt>B<new>(OPTIONS)

=over 4

 Option      --Defined in     --Default
 cache_fields                   false
 field_type    Mail::Message::Head  Mail::Message::Field::Fast
 log           Mail::Reporter   'WARNINGS'
 message       Mail::Message::Head  undef
 modified      Mail::Message::Head  <false>
 trace         Mail::Reporter   'WARNINGS'

. cache_fields => BOOLEAN

=over 4

This is only a read-cache on fields, because this kind of header does
not allow writing of fields.  See L<Mail::Box::IMAP4::new(cache_head)|Mail::Box::IMAP4/"METHODS">,
this value is set to C<false> for C<NO> and C<true> for C<PARTIAL>..

=back

. field_type => CLASS

. log => LEVEL

. message => MESSAGE

. modified => BOOLEAN

. trace => LEVEL

=back

=head2 The header

$obj-E<gt>B<isDelayed>

=over 4

See L<Mail::Message::Head/"The header">

=back

$obj-E<gt>B<isEmpty>

=over 4

See L<Mail::Message::Head/"The header">

=back

$obj-E<gt>B<isModified>

=over 4

See L<Mail::Message::Head/"The header">

=back

$obj-E<gt>B<knownNames>

=over 4

See L<Mail::Message::Head/"The header">

=back

$obj-E<gt>B<message>([MESSAGE])

=over 4

See L<Mail::Message::Head/"The header">

=back

$obj-E<gt>B<modified>([BOOLEAN])

=over 4

See L<Mail::Message::Head/"The header">

=back

$obj-E<gt>B<orderedFields>

=over 4

See L<Mail::Message::Head/"The header">

=back

=head2 Access to the header

$obj-E<gt>B<get>(NAME [,INDEX])

=over 4

Get the information about the header line NAME.  Realization will
take place.

=back

$obj-E<gt>B<study>(NAME [,INDEX])

=over 4

See L<Mail::Message::Head/"Access to the header">

=back

=head2 About the body

$obj-E<gt>B<guessBodySize>

=over 4

See L<Mail::Message::Head/"About the body">

=back

$obj-E<gt>B<isMultipart>

=over 4

See L<Mail::Message::Head/"About the body">

=back

=head2 Internals

$obj-E<gt>B<addNoRealize>(FIELD)

=over 4

See L<Mail::Message::Head/"Internals">

=back

$obj-E<gt>B<addOrderedFields>(FIELDS)

=over 4

See L<Mail::Message::Head/"Internals">

=back

$obj-E<gt>B<fileLocation>

=over 4

See L<Mail::Message::Head/"Internals">

=back

$obj-E<gt>B<load>

=over 4

See L<Mail::Message::Head/"Internals">

=back

$obj-E<gt>B<moveLocation>(DISTANCE)

=over 4

See L<Mail::Message::Head/"Internals">

=back

$obj-E<gt>B<read>(PARSER)

=over 4

See L<Mail::Message::Head/"Internals">

=back

$obj-E<gt>B<setNoRealize>(FIELD)

=over 4

See L<Mail::Message::Head/"Internals">

=back

=head2 Error handling

$obj-E<gt>B<AUTOLOAD>

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<addReport>(OBJECT)

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])

Mail::Box::IMAP4::Head-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<errors>

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<log>([LEVEL [,STRINGS]])

Mail::Box::IMAP4::Head-E<gt>B<log>([LEVEL [,STRINGS]])

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<logPriority>(LEVEL)

Mail::Box::IMAP4::Head-E<gt>B<logPriority>(LEVEL)

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<logSettings>

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<notImplemented>

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<report>([LEVEL])

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<reportAll>([LEVEL])

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<trace>([LEVEL])

=over 4

See L<Mail::Reporter/"Error handling">

=back

$obj-E<gt>B<warnings>

=over 4

See L<Mail::Reporter/"Error handling">

=back

=head2 Cleanup

$obj-E<gt>B<DESTROY>

=over 4

See L<Mail::Reporter/"Cleanup">

=back

$obj-E<gt>B<inGlobalDestruction>

=over 4

See L<Mail::Reporter/"Cleanup">

=back

=head1 DETAILS

=head1 DIAGNOSTICS

Error: Package $package does not implement $method.

=over 4

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.

=back

=head1 SEE ALSO

This module is part of Mail-Box distribution version 2.073,
built on July 19, 2007. Website: F<http://perl.overmeer.net/mailbox/>

=head1 LICENSE

Copyrights 2001-2007 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 F<http://www.perl.com/perl/misc/Artistic.html>

