
=head1 NAME

OODoc::Manifest - maintain the information inside a manifest file.


=head1 INHERITANCE

 OODoc::Manifest
   is a OODoc::Object


=head1 SYNOPSIS

 my $manifest = OODoc::Manifest->new(filename => ...);


=head1 DESCRIPTION




=head1 METHODS


overload: B<@{}>

=over 4

Referencing this object as array will produce all filenames from the
manifest.

=back

$obj-E<gt>B<add>(FILENAMES)

=over 4

Adds the FILENAMES to the manifest, doubles are ignored.

=back

$obj-E<gt>B<filename>

=over 4

The name of the file which is read or will be written.

=back

$obj-E<gt>B<files>

=over 4

Returns an unsorted list with all filenames in this manifest.

=back

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

=over 4

Whether filenames have been added to the list after initiation.

=back

$obj-E<gt>B<read>

=over 4

Read the manifest file.

=back

$obj-E<gt>B<write>

=over 4

Write the MANIFEST file if it has changed.  The file will automatically
be written when the object leaves scope.

=back

=head2 Initiation


OODoc::Manifest-E<gt>B<new>(OPTIONS)

=over 4

See L<OODoc::Text::Diagnostic/"METHODS">

=back

=head2 Inheritance


$obj-E<gt>B<extends>([OBJECT])

=over 4

See L<OODoc::Object/"Inheritance">

=back

=head2 Commonly used functions


$obj-E<gt>B<filenameToPackage>(FILENAME)

OODoc::Manifest-E<gt>B<filenameToPackage>(FILENAME)

=over 4

See L<OODoc::Object/"Commonly used functions">

=back

$obj-E<gt>B<mergeObjects>(OPTIONS)

=over 4

See L<OODoc::Object/"Commonly used functions">

=back

$obj-E<gt>B<mkdirhier>(DIRECTORY)

OODoc::Manifest-E<gt>B<mkdirhier>(DIRECTORY)

=over 4

See L<OODoc::Object/"Commonly used functions">

=back

$obj-E<gt>B<unique>

=over 4

See L<OODoc::Text/"METHODS">

=back

=head2 Manual database

All manuals can be reached everywhere in the program: it is a global
collection.

$obj-E<gt>B<addManual>(MANUAL)

=over 4

See L<OODoc::Object/"Manual database">

=back

$obj-E<gt>B<mainManual>(NAME)

=over 4

See L<OODoc::Object/"Manual database">

=back

$obj-E<gt>B<manuals>

=over 4

See L<OODoc::Object/"Manual database">

=back

$obj-E<gt>B<manualsForPackage>(NAME)

=over 4

See L<OODoc::Object/"Manual database">

=back

$obj-E<gt>B<packageNames>

=over 4

See L<OODoc::Object/"Manual database">

=back



=head1 DIAGNOSTICS

I<Error:> Cannot read manifest file $filename: $!

The manifest file could not be opened for reading.

I<Error:> manual definition requires manual object

A call to L<addManual()|OODoc::Object/"Manual database"> expects a new manual object (a L<OODoc::Manual|OODoc::Manual>),
however an incompatible thing was passed.  Usually, intended was a call
to L<manualsForPackage()|OODoc::Object/"Manual database"> or L<mainManual()|OODoc::Object/"Manual database">.

I<Warning:> order conflict "$take" before "$insert" in $file line $number

The order of the objects in a sub-class shall be the same as that of
the super class, otherwise the result of merging of the information
received from both classes is undertermined.






=head1 REFERENCES

See the OODoc website at L<$website> for more details.

=head1 COPYRIGHTS

Module version $version.
Written by Mark Overmeer (mark@overmeer.net).  See the ChangeLog for
other contributors.

Copyright (c) 2001-2002 by the authors. All rights reserved.  This program
is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.


