package org.aksw.jena_sparql_api.exprs_ext; import java.util.List; import org.apache.jena.sparql.expr.Expr; import org.apache.jena.sparql.expr.ExprFunctionN; import org.apache.jena.sparql.expr.ExprList; import org.apache.jena.sparql.expr.NodeValue; /** * A 'permissive' version of Jena's E_StrConcat, that does not * complain when mixing types (e.g. concat(string, int)). * * * @author raven * */ public class E_StrConcatPermissive extends ExprFunctionN { private static final String name = "concat" ; public E_StrConcatPermissive(ExprList args) { super(name, args) ; } @Override public Expr copy(ExprList newArgs) { return new E_StrConcatPermissive(newArgs) ; } @Override public NodeValue eval(List<NodeValue> args) { String str = ""; for(NodeValue arg : args) { str += arg.asUnquotedString(); } return NodeValue.makeString(str); } }