Jonathan Druart
dc5fe323d2
We absolutely need that for modules. We are enabling strict by using Modern::Perl. Note that other modules from C4 use strict and warnings, instead of Modern::Perl Test plan: git grep 2505 **/*.pm should not return any results And let's see later what needs to be fixed. Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
144 lines
3.3 KiB
Perl
144 lines
3.3 KiB
Perl
package C4::TmplTokenType;
|
|
|
|
# Copyright 2011 Tamil
|
|
#
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha 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 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Koha 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 Koha; if not, see <http://www.gnu.org/licenses>.
|
|
|
|
use Modern::Perl;
|
|
require Exporter;
|
|
|
|
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
|
|
|
|
###############################################################################
|
|
|
|
=head1 NAME
|
|
|
|
C4::TmplTokenType.pm - Types of TmplToken objects
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This is a Java-style "safe enum" singleton class for types of TmplToken objects.
|
|
The predefined constants are
|
|
|
|
=cut
|
|
|
|
###############################################################################
|
|
|
|
|
|
@ISA = qw(Exporter);
|
|
@EXPORT_OK = qw(
|
|
&TEXT
|
|
&TEXT_PARAMETRIZED
|
|
&CDATA
|
|
&TAG
|
|
&DECL
|
|
&PI
|
|
&DIRECTIVE
|
|
&COMMENT
|
|
&UNKNOWN
|
|
);
|
|
|
|
###############################################################################
|
|
|
|
use vars qw( $_text $_text_parametrized $_cdata
|
|
$_tag $_decl $_pi $_directive $_comment $_null $_unknown );
|
|
|
|
BEGIN {
|
|
my $new = sub {
|
|
my $this = 'C4::TmplTokenType';#shift;
|
|
my $class = ref($this) || $this;
|
|
my $self = {};
|
|
bless $self, $class;
|
|
($self->{'id'}, $self->{'name'}, $self->{'desc'}) = @_;
|
|
return $self;
|
|
};
|
|
$_text = &$new(0, 'TEXT');
|
|
$_text_parametrized = &$new(8, 'TEXT-PARAMETRIZED');
|
|
$_cdata = &$new(1, 'CDATA');
|
|
$_tag = &$new(2, 'TAG');
|
|
$_decl = &$new(3, 'DECL');
|
|
$_pi = &$new(4, 'PI');
|
|
$_directive = &$new(5, 'DIRECTIVE');
|
|
$_comment = &$new(6, 'COMMENT');
|
|
$_unknown = &$new(7, 'UNKNOWN');
|
|
}
|
|
|
|
sub to_string {
|
|
my $this = shift;
|
|
return $this->{'name'}
|
|
}
|
|
|
|
sub TEXT { $_text }
|
|
sub TEXT_PARAMETRIZED { $_text_parametrized }
|
|
sub CDATA { $_cdata }
|
|
sub TAG { $_tag }
|
|
sub DECL { $_decl }
|
|
sub PI { $_pi }
|
|
sub DIRECTIVE { $_directive }
|
|
sub COMMENT { $_comment }
|
|
sub UNKNOWN { $_unknown }
|
|
|
|
###############################################################################
|
|
|
|
=over
|
|
|
|
=item TEXT
|
|
|
|
normal text (#text in the DTD)
|
|
|
|
=item TEXT_PARAMETRIZED
|
|
|
|
parametrized normal text
|
|
(result of simple recognition of text interspersed with <TMPL_VAR> directives;
|
|
this has to be explicitly enabled in the scanner)
|
|
|
|
=item CDATA
|
|
|
|
normal text (CDATA in the DTD)
|
|
|
|
=item TAG
|
|
|
|
something that has the form of an HTML tag
|
|
|
|
=item DECL
|
|
|
|
something that has the form of an SGML declaration
|
|
|
|
=item PI
|
|
|
|
something that has the form of an SGML processing instruction
|
|
|
|
=item DIRECTIVE
|
|
|
|
a Template Toolkit directive
|
|
|
|
=item COMMENT
|
|
|
|
something that has the form of an HTML comment
|
|
(and is not recognized as an HTML::Template directive)
|
|
|
|
=item UNKNOWN
|
|
|
|
something that is not recognized at all by the scanner
|
|
|
|
=back
|
|
|
|
Note that end of file is currently represented by undef,
|
|
instead of a constant predefined by this module.
|
|
|
|
=cut
|
|
|
|
1;
|