NAME
Meta::Pdmt::Node - A PDMT graph node.
COPYRIGHT
Copyright (C) 2001, 2002 Mark Veltzer; All rights reserved.
LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
DETAILS
MANIFEST: Node.pm
PROJECT: meta
VERSION: 0.12
SYNOPSIS
package foo;
use Meta::Pdmt::Node qw();
my($object)=Meta::Pdmt::Node->new();
my($result)=$object->method();
DESCRIPTION
This is a PDMT graph node. The node implements all the basic methods that child nodes need to override.
Do not think of a node in PDMT as a file. Think of a node in PDMT exactly as you think of this class: a collection of three things. 1. A method which knows how to build the node from it's ingredients. 2. A method which knows to tell if the node is up to date. 3. A method which reports the last modification time of the node.
You may rightly ask about why both the uptodate and the mtime functions are needed. They are not. This class should be built as Node--TimeNode. The mtime stuff should only be in the TimeNode. The reason that not all nodes need the mtime stuff is that some nodes would rather just always say thet they are up to date (primary source files are a good example for that).
FUNCTIONS
BEGIN()
build($$)
uptodate($$)
mtime($)
TEST($)
FUNCTION DOCUMENTATION
- BEGIN()
-
This is an initializer for the class. It takes care for a: 1. default constructor for the class. 2. accessor get_ set_ methods for the attribute name.
- build($$)
-
This method actually builds a node. In this generic node it does nothing and must be overriden in inherited classes.
- uptodate($$)
-
This method should return whether the file is uptodate. This method should be overriden by inherited classes.
- mtime($)
-
This method should return the modification date of this node. This method should be overriden by inherited classes.
- TEST($)
-
Test suite for this module. Currently this does nothing.
SUPER CLASSES
None.
BUGS
None.
AUTHOR
Name: Mark Veltzer
Email: mailto:veltzer@cpan.org
WWW: http://www.veltzer.org
CPAN id: VELTZER
HISTORY
0.00 MV spelling and papers
0.01 MV perl packaging
0.02 MV md5 project
0.03 MV database
0.04 MV perl module versions in files
0.05 MV movies and small fixes
0.06 MV thumbnail user interface
0.07 MV more thumbnail issues
0.08 MV website construction
0.09 MV web site automation
0.10 MV SEE ALSO section fix
0.11 MV teachers project
0.12 MV md5 issues
SEE ALSO
Meta::Class::MethodMaker(3), Meta::Utils::Output(3), strict(3)
TODO
Nothing.