/usr/local/CPAN/Graph-Template/Graph/Template/Base.pm
package Graph::Template::Base;
use strict;
BEGIN {
use vars qw ($VERSION);
$VERSION = 0.01;
}
use Graph::Template::Factory;
sub new
{
my $class = shift;
push @_, %{shift @_} while UNIVERSAL::isa($_[0], 'HASH');
(@_ % 2)
and die "$class->new() called with odd number of option parameters\n";
my %x = @_;
# Do not use a hashref-slice here because of the uppercase'ing
my $self = {};
$self->{uc $_} = $x{$_} for keys %x;
bless $self, $class;
}
sub isa { Graph::Template::Factory::isa(@_) }
sub calculate { ($_[1])->get(@_[0,2]) }
#{
# my $self = shift;
# my ($context, $attr) = @_;
#
# return $context->get($self, $attr);
#}
sub enter_scope { ($_[1])->enter_scope($_[0]) }
#{
# my $self = shift;
# my ($context) = @_;
#
# return $context->enter_scope($self);
#}
sub exit_scope { ($_[1])->exit_scope(@_[0, 2]) }
#{
# my $self = shift;
# my ($context, $no_delta) = @_;
#
# return $context->exit_scope($self, $no_delta);
#}
sub deltas
{
# my $self = shift;
# my ($context) = @_;
return {};
}
sub resolve
{
# my $self = shift;
# my ($context) = @_;
'';
}
sub render
{
# my $self = shift;
# my ($context) = @_;
1;
}
1;
__END__