Meta::Pdmt::TimeNode - A node which has a modification time.


Meta documentation Contained in the Meta distribution.

Index


Code Index:

NAME

Top

Meta::Pdmt::TimeNode - A node which has a modification time.

COPYRIGHT

Top

LICENSE

Top

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

Top

	MANIFEST: TimeNode.pm
	PROJECT: meta
	VERSION: 0.01

SYNOPSIS

Top

	package foo;
	use Meta::Pdmt::TimeNode qw();
	my($object)=Meta::Pdmt::TimeNode->new();
	my($result)=$object->method();

DESCRIPTION

Top

All nodes which can report some kind of modification time should inherit from this node.

FUNCTIONS

Top

	mtime($)
	uptodate($$)
	TEST($)

FUNCTION DOCUMENTATION

Top

mtime($)

This is the method which reports the modification time of the node. This method should be overriden in inherited classes.

uptodate($$)

This method reports whether the node is up to date by comparing it's modification time with that of it's ingridients.

TEST($)

This is a testing suite for the Meta::Pdmt::TimeNode module. This test is should be run by a higher level management system at integration or release time or just as a regular routine to check that all is well.

This test currently does nothing.

SUPER CLASSES

Top

Meta::Pdmt::Node(3)

BUGS

Top

None.

AUTHOR

Top

	Name: Mark Veltzer
	Email: mailto:veltzer@cpan.org
	WWW: http://www.veltzer.org
	CPAN id: VELTZER

HISTORY

Top

	0.00 MV teachers project
	0.01 MV md5 issues

SEE ALSO

Top

Error(3), Meta::Pdmt::Node(3), strict(3)

TODO

Top

Nothing.


Meta documentation Contained in the Meta distribution.

#!/bin/echo This is a perl module and should not be run

package Meta::Pdmt::TimeNode;

use strict qw(vars refs subs);
use Meta::Pdmt::Node qw();
use Error qw(:try);

our($VERSION,@ISA);
$VERSION="0.01";
@ISA=qw(Meta::Pdmt::Node);

#sub mtime($);
#sub uptodate($$);
#sub TEST($);

#__DATA__

sub mtime($) {
	my($self)=@_;
	throw Meta::Error::Simple("this mtime method must be over ridden");
	return(1);
}

sub uptodate($$) {
	my($self,$pdmt)=@_;
	#get all nodes which this edge depends on
	my($date)=$self->mtime();
	my(@nodes)=$pdmt->successors($self);
	for(my($i)=0;$i<=$#nodes;$i++) {
		my($curr)=$nodes[$i];
		if($curr->mtime()>$date) {
			return(0);
		}
	}
	return(1);
}

sub TEST($) {
	my($context)=@_;
	return(1);
}

1;

__END__