The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Clownfish::Hierarchy - A class hierarchy.

DESCRIPTION

A Clownfish::Hierarchy consists of all the classes defined in files within a source directory and its subdirectories.

There may be more than one tree within the Hierarchy, since all "inert" classes are root nodes, and since Clownfish does not officially define any core classes itself from which all instantiable classes must descend.

METHODS

new

    my $hierarchy = Clownfish::Hierarchy->new(
        source => undef,    # required
        dest   => undef,    # required
    );
  • source - The directory we begin reading files from.

  • dest - The directory where the autogenerated files will be written.

build

    $hierarchy->build;

Parse every .bp file which can be found under source, building up the object hierarchy.

ordered_classes

    my @classes = $hierarchy->ordered_classes;

Return all Classes as a list with the property that every parent class will precede all of its children.

propagate_modified

    $hierarchy->propagate_modified($modified);

Visit all File objects in the hierarchy. If a parent node is modified, mark all of its children as modified.

If the supplied argument is true, mark all Files as modified.

get_source get_dest

Accessors.

COPYRIGHT AND LICENSE

Copyright 2006-2010 Marvin Humphrey

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