package com.googlecode.aviator; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; /** * Base expression * * @author dennis * */ public abstract class BaseExpression implements Expression { private List<String> varNames; public BaseExpression(List<String> varNames) { super(); LinkedHashSet<String> tmp = new LinkedHashSet<String>(varNames.size()); // process nested names for (String name : varNames) { if (name.contains(".")) { name = name.substring(0, name.indexOf(".")); } tmp.add(name); } this.varNames = new ArrayList<String>(tmp); } /* * (non-Javadoc) * * @see com.googlecode.aviator.IExpression#execute() */ public Object execute() { return this.execute(null); } /* * (non-Javadoc) * * @see com.googlecode.aviator.IExpression#getVariableNames() */ public List<String> getVariableNames() { return this.varNames; } }