package org.aksw.jena_sparql_api.mapper.jpa.criteria; import java.util.Collection; import java.util.List; import javax.persistence.criteria.Expression; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Selection; import org.aksw.jena_sparql_api.mapper.jpa.criteria.expr.ExpressionVisitor; public abstract class ExpressionBase<T> extends SelectionImpl<T> implements Expression<T> { // protected String aliasName; // // public ExpressionBase(Expr expr) { // super(null, null); // this.expr = expr; // } // // public Expr getJenaExpr() { // return expr; // } public ExpressionBase(Class<? extends T> javaClass) { super(javaClass); } @Override public boolean isCompoundSelection() { // TODO Auto-generated method stub return false; } @Override public List<Selection<?>> getCompoundSelectionItems() { // TODO Auto-generated method stub return null; } @Override public Class<? extends T> getJavaType() { // TODO Auto-generated method stub return null; } @Override public String getAlias() { // TODO Auto-generated method stub return null; } @Override public Predicate isNull() { // TODO Auto-generated method stub return null; } @Override public Predicate isNotNull() { // TODO Auto-generated method stub return null; } @Override public Predicate in(Object... values) { // TODO Auto-generated method stub return null; } @Override public Predicate in(Expression<?>... values) { // TODO Auto-generated method stub return null; } @Override public Predicate in(Collection<?> values) { // TODO Auto-generated method stub return null; } @Override public Predicate in(Expression<Collection<?>> values) { // TODO Auto-generated method stub return null; } // TODO We could use Jena's polymorphic principle @SuppressWarnings("unchecked") @Override public <X> Expression<X> as(Class<X> type) { // @SuppressWarnings("unchecked") // Expression<X> result = type.isAssignableFrom(this.getClass())) // ? (Expression<X>)this // : null; return (Expression<X>)this; } }