NAME
    FML::Article - manipulate an ML article and related information.

SYNOPSIS
        use FML::Article;
        my $article = new FML::Article $curproc;

        # get sequence number
        my $id = $article->increment_id;

        # spool in the article before delivery
        $article->spool_in($id);

        my $article_file = $article->filepath($article_id);

DESCRIPTION
    $article object is just a container which holds "header" and "body"
    objects as hash keys. The "header" is an "FML::Header" object, the
    "body" is a "Mail::Message" object which is the head object of a message
    object chain.

    "new()" method sets up the $curproc as

        my $dupmsg  = $curproc->{ 'incoming_message' }->{ message }->dup_header;
        $curproc->{ article }->{ message } = $dupmsg;
        $curproc->{ article }->{ header }  = $dupmsg->whole_message_header;
        $curproc->{ article }->{ body }    = $dupmsg->whole_message_body;

    This is the basic structure of the article object.

METHODS
  new(curproc)
    prepare an article message, which is duplicated from the incoming
    message $curproc->{ incoming_message }.

  spool_in($id)
    save the article to the file name $id in the article spool. If the
    variable $use_article_spool is 'yes', this routine works.

  prepend($data)
    prepend the message into the article object.

  append($data)
    append the message into the article object.

EXPIRE ARTICLES
  expire()
    expire too old articles.

UTILITY
  filepath($id)
    return article file path corresponding with the specified $id.

  subdirpath($id)
    return subdir path corresponding with the specified $id.

SEE ALSO
    FML::Header, Mail::Message

CODING STYLE
    See "http://www.fml.org/software/FNF/" on fml coding style guide.

AUTHOR
    Ken'ichi Fukamachi

COPYRIGHT
    Copyright (C) 2001,2002,2003,2004,2005,2006 Ken'ichi Fukamachi

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

HISTORY
    FML::Article first appeared in fml8 mailing list driver package. See
    "http://www.fml.org/" for more details.

