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.internal.BuildContext; 24 import org.peaseplate.locator.TemplateLocator; 25 26 public class ValueCommand extends AbstractCommand { 27 28 private final Object value; 29 30 public ValueCommand(TemplateLocator locator, int line, int column, Object value) { 31 super(locator, line, column); 32 33 this.value = value; 34 } 35 36 /** 37 * @see org.peaseplate.internal.lang.command.ICommand#call(BuildContext) 38 */ 39 public Object call(BuildContext context) throws TemplateRuntimeException { 40 return value; 41 } 42 43 /** 44 * @see java.lang.Object#toString() 45 */ 46 @Override 47 public String toString() { 48 if (value instanceof String) 49 return "\"" + value + "\""; 50 51 return String.valueOf(value); 52 } 53 54 }