package org.jtwig.model.expression; import org.jtwig.model.position.Position; import java.util.ArrayList; import java.util.List; public class FunctionExpression extends InjectableExpression { private final String functionIdentifier; private final List<Expression> arguments; public FunctionExpression(Position position, String functionIdentifier, List<Expression> arguments) { super(position); this.functionIdentifier = functionIdentifier; this.arguments = arguments; } public String getFunctionIdentifier() { return functionIdentifier; } public List<Expression> getArguments() { return arguments; } @Override public Expression inject(Expression expression) { List<Expression> arguments = new ArrayList<>(); arguments.add(expression); arguments.addAll(getArguments()); return new FunctionExpression(getPosition(), functionIdentifier, arguments); } }