47e5a5602b209b40c7414868832728e443915313
[dbsrgits/DBIx-Class-Tree.git] / lib / DBIx / Class / Tree.pm
1 package DBIx::Class::Tree;
2 # vim: ts=8:sw=4:sts=4:et
3
4 use strict;
5 use warnings;
6
7 use base qw( DBIx::Class );
8
9 our $VERSION = '0.03002';
10
11 1;
12 __END__
13
14 =head1 NAME
15
16 DBIx::Class::Tree - Manipulate and anaylze tree structured data.
17
18 =head1 GETTING HELP/SUPPORT
19
20 The community can be found via:
21
22 =over
23
24 =item * IRC: irc.perl.org#dbix-class
25
26 =for html
27 <a href="http://chat.mibbit.com/#dbix-class@irc.perl.org">(click for instant chatroom login)</a>
28
29 =item * Mailing list: L<http://lists.scsys.co.uk/mailman/listinfo/dbix-class>
30
31 =item * RT Bug Tracker: L<https://rt.cpan.org/Dist/Display.html?Queue=DBIx-Class-Tree>
32
33 =item * gitweb: L<http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits/DBIx-Class-Tree.git>
34
35 =item * git: L<git://git.shadowcat.co.uk/dbsrgits/DBIx-Class-Tree.git>
36
37 =back
38
39 =head1 DESCRIPTION
40
41 The tree modules provide the tools to represent, modify, and analyze
42 trees of data with DBIx::Class.
43
44 =head1 COMPONENTS
45
46 L<DBIx::Class::Tree::AdjacencyList> - Manage a tree of data using the
47 common adjacency list model.
48
49 L<DBIx::Class::Tree::AdjacencyList::Ordered> - Glue DBIx::Class::Ordered
50 and DBIx::Class::Tree::AdjacencyList together.
51
52 =head1 DAG
53
54 All tree related modules must conform to have and use the basic traversal
55 methods of a DAG.  For the most part this just means that Tree modules
56 must provide the appearance of having multiple parents per node (via a
57 parents() method) but may very well never return more than one parent.
58 All utility modules, such as a Visitor module, should do its best to
59 never assume that a node only has one parent.  There are situations
60 where this is not possible - in those cases the module's documentation
61 should clearly state that it is not compatible with DAGs.
62
63 So far there is no Tree::DAG module, but there will be.  These requirements
64 are vague, and the requirements of Tree modules to be DAG compatible will
65 become more defined in due course.
66
67 =head1 AUTHOR
68
69 Aran Clary Deltac <bluefeet@cpan.org>
70
71 =head1 LICENSE
72
73 You may distribute this code under the same terms as Perl itself.
74