is_* methods and primary key validation
[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 vars qw( $VERSION );
8 use base qw( DBIx::Class );
9
10 $VERSION = '0.01000';
11
12 1;
13 __END__
14
15 =head1 NAME
16
17 DBIx::Class::Tree - Manipulate and anaylze tree structured data.  (EXPERIMENTAL)
18
19 =head1 DESCRIPTION
20
21 The tree modules provide the tools to represent, modify, and analyze 
22 trees of data with DBIx::Class.
23
24 =head1 COMPONENTS
25
26 L<DBIx::Class::Tree::AdjacencyList> - Manage a tree of data using the 
27 common adjacency list model. (EXPERIMENTAL)
28
29 L<DBIx::Class::Tree::AdjacencyList::Ordered> - Glue DBIx::Class::Ordered 
30 and DBIx::Class::Tree::AdjacencyList together. (EXPERIMENTAL)
31
32 =head1 DAG
33
34 All tree related modules must conform to have and use the basic traversal 
35 methods of a DAG.  For the most part this just means that Tree modules 
36 must provide the appearance of having multiple parents per node (via a 
37 parents() method) but may very well never return more than one parent.  
38 All utility modules, such as a Visitor module, should do its best to 
39 never assume that a node only has one parent.  There are situations 
40 where this is not possible - in those cases the module's documentation 
41 should clearly state that it is not compatible with DAGs.
42
43 So far there is no Tree::DAG module, but there will be.  These requirements 
44 are vague, and the requirements of Tree modules to be DAG compatible will 
45 become more defined in due course.
46
47 =head1 AUTHOR
48
49 Aran Clary Deltac <bluefeet@cpan.org>
50
51 =head1 LICENSE
52
53 You may distribute this code under the same terms as Perl itself.
54