Excel::Template::Base - Excel::Template::Base


Excel-Template documentation Contained in the Excel-Template distribution.

Index


Code Index:

NAME

Top

Excel::Template::Base - Excel::Template::Base

PURPOSE

Top

Base class for all Excel::Template classes

NODE NAME

Top

None

INHERITANCE

Top

None

ATTRIBUTES

Top

None

CHILDREN

Top

None

EFFECTS

Top

None

DEPENDENCIES

Top

None

METHODS

Top

calculate

This is a wrapper around Excel::Template::Context->get()

isa

This is a wrapper around Excel::Template::Factory->isa()

is_embedded

This is a wrapper around Excel::Template::Factory->is_embedded()

AUTHOR

Top

Rob Kinyon (rob.kinyon@gmail.com)

SEE ALSO

Top


Excel-Template documentation Contained in the Excel-Template distribution.

package Excel::Template::Base;

use strict;

use Excel::Template::Factory;

sub new
{
    my $class = shift;

    push @_, %{shift @_} while ref $_[0] eq '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;
}

*isa = *isa = \&Excel::Template::Factory::isa;
*is_embedded = *is_embedded = \&Excel::Template::Factory::is_embedded;

#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 {};
}

# Everyone seems to have their own versions.
# Maybe, it's part of the API to require that you have the right one of these
# defined?
#sub resolve
#{
#    my $self = shift;
#    my ($context) = @_;
#
#    '';
#}
#
#sub render
#{
#    my $self = shift;
#    my ($context) = @_;
#
#    1;
#}

1;
__END__