Filewatcher File Search File Search
Content Search
» » » » » » » perl-libxml-perl-0.07-14.noarch.rpm » Content »
pkg://perl-libxml-perl-0.07-14.noarch.rpm:89864/usr/share/man/man3/  info  HEADER  downloads

perl-libxml-perl - libxml-perl module for perl…  more info»


Data::Grove(3)   User Contributed Perl Documentation  Data::Grove(3)

       Data::Grove -- support for deeply nested structures

        use Data::Grove;

        $object = MyPackage->new;

        package MyPackage;
        @ISA = qw{Data::Grove};

       "Data::Grove" provides support for deeply nested tree or
       graph structures.  "Data::Grove" is intended primarily for
       Perl module authors writing modules with many types or
       classes of objects that need to be manipulated and extended
       in a consistent and flexible way.

       "Data::Grove" is best used by creating a core set of ``data''
       classes and then incrementally adding functionality to the
       core data classes by using ``extension'' modules.  One reason
       for this design is so that the data classes can be swapped
       out and the extension modules can work with new data sources.
       For example, these other data sources could be disk-based,
       network-based or built on top of a relational database.

       Two extension modules that come with "Data::Grove" are
       "Data::Grove::Parent" and "Data::Grove::Visitor".
       "Data::Grove::Parent" adds a `"Parent"' property to grove
       objects and implements a `"root"' method to grove objects to
       return the root node of the tree from anywhere in the tree
       and a `"rootpath"' method to return a list of nodes between
       the root node and ``this'' node.  "Data::Grove::Visitor" adds
       callback methods `"accept"' and `"accept_name"' that call
       your handler or receiver module back by object type name or
       the object's name.

       "Data::Grove" objects do not contain parent references, Perl
       garbage collection will delete them when no longer referenced
       and sub-structures can be shared among several structures.
       "Data::Grove::Parent" is used to create temporary objects
       with parent pointers.

       Properties of data classes are accessed directly using Perl's
       hash functions (i.e. `"$object->{Property}"').  Extension
       modules may also define properties that they support or use,
       for example Data::Grove::Parent adds `"Parent"' and `"Raw"'
       properties and Visitor depends on `"Name"' and `"Content"'

       See the module "XML::Grove" for an example implementation of

       new( PROPERTIES )
           Return a new object blessed into the SubClass, with the
           given properties.  PROPERTIES may either be a list of
           key/value pairs, a single hash containing key/value
           pairs, or an existing "Data::Grove" object.  If an exist‐
           ing "Data::Grove" is passed to `"new()"', a shallow copy
           of that object will be returned.  A shallow copy means
           that you are returned a new object, but all of the
           objects underneath still refer to the original objects.

       Ken MacLeod,


3rd Berkeley Distribution    perl v5.6.1              Data::Grove(3)
Results 1 - 1 of 1
Help - FTP Sites List - Software Dir.
Search over 15 billion files
© 1997-2017