fe7600294ed3a1aa59ae33bed47d48dd836d7c67
[p5sagit/Excel-Template.git] / lib / Excel / Template / Base.pm
1 package Excel::Template::Base;
2
3 use strict;
4
5 BEGIN {
6 }
7
8 use Excel::Template::Factory;
9
10 sub new
11 {
12     my $class = shift;
13                                                                                 
14     push @_, %{shift @_} while defined $_[0] && UNIVERSAL::isa($_[0], 'HASH');
15     (@_ % 2) 
16         and die "$class->new() called with odd number of option parameters\n";
17                                                                                 
18     my %x = @_;
19                                                                                 
20     # Do not use a hashref-slice here because of the uppercase'ing
21     my $self = {};
22     $self->{uc $_} = $x{$_} for keys %x;
23                                                                                 
24     bless $self, $class;
25 }
26                                                                                 
27 sub isa { Excel::Template::Factory::isa(@_) }
28 sub is_embedded { Excel::Template::Factory::is_embedded(@_) }
29
30 #sub calculate { ($_[1])->get(@_[0,2]) }
31 #{
32 #    my $self = shift;
33 #    my ($context, $attr) = @_;
34 #
35 #    return $context->get($self, $attr);
36 #}
37                                                                                 
38 sub enter_scope { ($_[1])->enter_scope($_[0]) }
39 #{
40 #    my $self = shift;
41 #    my ($context) = @_;
42 #
43 #    return $context->enter_scope($self);
44 #}
45                                                                                 
46 sub exit_scope { ($_[1])->exit_scope(@_[0, 2]) }
47 #{
48 #    my $self = shift;
49 #    my ($context, $no_delta) = @_;
50 #
51 #    return $context->exit_scope($self, $no_delta);
52 #}
53                                                                                 
54 sub deltas
55 {
56 #    my $self = shift;
57 #    my ($context) = @_;
58                                                                                 
59     return {};
60 }
61                                                                                 
62 sub resolve
63 {
64 #    my $self = shift;
65 #    my ($context) = @_;
66                                                                                 
67     '';
68 }
69
70 sub render
71 {
72 #    my $self = shift;
73 #    my ($context) = @_;
74
75     1;
76 }
77
78 1;
79 __END__
80
81 =head1 NAME
82
83 Excel::Template::Base - Excel::Template::Base
84
85 =head1 PURPOSE
86
87 Base class for all Excel::Template classes
88
89 =head1 NODE NAME
90
91 None
92
93 =head1 INHERITANCE
94
95 None
96
97 =head1 ATTRIBUTES
98
99 None
100
101 =head1 CHILDREN
102
103 None
104
105 =head1 EFFECTS
106
107 None
108
109 =head1 DEPENDENCIES
110
111 None
112
113 =head1 METHODS
114
115 =head2 calculate
116
117 This is a wrapper around Excel::Template::Context->get()
118
119 =head2 isa
120
121 This is a wrapper around Excel::Template::Factory->isa()
122
123 =head2 is_embedded
124
125 This is a wrapper around Excel::Template::Factory->is_embedded()
126
127 =head1 AUTHOR
128
129 Rob Kinyon (rob.kinyon@gmail.com)
130
131 =head1 SEE ALSO
132
133 =cut