package org.aksw.sparqlify.algebra.sql.exprs2;
import org.aksw.sparqlify.core.TypeToken;
import org.aksw.sparqlify.core.cast.SqlValue;
public class S_Cast
extends SqlExpr2
{
public S_Cast(TypeToken type, SqlExpr expr, SqlExpr typeExpr) {
super(type, "cast", expr, typeExpr);
}
@Override
public S_Cast copy(SqlExpr expr, SqlExpr typeExpr) {
return new S_Cast(datatype, expr, typeExpr);
}
public static S_Cast create(TypeToken type, SqlExpr expr) {
S_Constant typeExpr = S_Constant.create(new SqlValue(TypeToken.String, type.getName()));
S_Cast result = new S_Cast(type, expr, typeExpr);
return result;
}
@Override
public <T> T accept(SqlExprVisitor<T> visitor) {
T result = visitor.visit(this);
return result;
}
}