001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.mappaint.mapcss; 003 004import java.util.Arrays; 005 006import org.openstreetmap.josm.gui.mappaint.Environment; 007import org.openstreetmap.josm.tools.CheckParameterUtil; 008 009/** 010 * Simple literal value, that does not depend on other expressions. 011 */ 012public class LiteralExpression implements Expression { 013 private final Object literal; 014 015 public LiteralExpression(Object literal) { 016 CheckParameterUtil.ensureParameterNotNull(literal); 017 this.literal = literal; 018 } 019 020 @Override 021 public Object evaluate(Environment env) { 022 return literal; 023 } 024 025 @Override 026 public String toString() { 027 if (literal instanceof float[]) { 028 return Arrays.toString((float[]) literal); 029 } 030 return "<" + literal + '>'; 031 } 032}