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    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.toString() + ">";
031    }
032
033}