1 /*
2 * This file is part of Pease Plate Template Engine.
3 *
4 * Pease Plate Template Engine is free software: you can redistribute
5 * it and/or modify it under the terms of the GNU Lesser General
6 * Public License as published by the Free Software Foundation,
7 * either version 3 of the License, or any later version.
8 *
9 * Pease Plate Template Engine is distributed in the hope that it
10 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
11 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 * See the GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with Pease Plate Template Engine. If not, see
16 * <http://www.gnu.org/licenses/>.
17 *
18 * Copyright (c) 2008 Manfred HANTSCHEL
19 */
20 package org.peaseplate.internal.lang.command;
21
22 import org.peaseplate.TemplateRuntimeException;
23 import org.peaseplate.locator.TemplateLocator;
24
25 public class EqualsCommand extends AbstractEqualityCommand {
26
27 public EqualsCommand(TemplateLocator locator, int line, int column, ICommand leftCommand, ICommand rightCommand) {
28 super(locator, line, column, leftCommand, rightCommand);
29 }
30
31 /**
32 * @see org.peaseplate.internal.lang.command.AbstractNumericCommand#getSign()
33 */
34 @Override
35 public String getSign() {
36 return "==";
37 }
38
39 /**
40 * @see org.peaseplate.internal.lang.command.AbstractEqualityCommand#evaluateNull()
41 */
42 @Override
43 public Boolean evaluateNull() throws TemplateRuntimeException {
44 return Boolean.TRUE;
45 }
46
47 /**
48 * @see org.peaseplate.internal.lang.command.AbstractEqualityCommand#evaluateComparable(java.lang.Comparable, java.lang.Comparable)
49 */
50 @Override
51 public <TYPE> Boolean evaluateComparable(Comparable<TYPE> left, Comparable<TYPE> right) throws TemplateRuntimeException {
52 return Boolean.valueOf((left != null) && (left.equals(right)));
53 }
54
55 /**
56 * @see org.peaseplate.internal.lang.command.AbstractEqualityCommand#evaluateNonComparable(java.lang.Object, java.lang.Object)
57 */
58 @Override
59 public Boolean evaluateNonComparable(Object left, Object right) throws TemplateRuntimeException {
60 return Boolean.valueOf((left != null) && (left.equals(right)));
61 }
62
63 }