package com.mysema.rdfbean.rdb; import java.util.List; import com.google.common.base.Function; import com.mysema.commons.lang.CloseableIterator; import com.mysema.query.sql.SQLQuery; import com.mysema.query.types.Expression; import com.mysema.rdfbean.model.GraphQuery; import com.mysema.rdfbean.model.NODE; import com.mysema.rdfbean.model.PatternBlock; import com.mysema.rdfbean.model.STMT; public class GraphQueryImpl implements GraphQuery { private final SQLQuery query; private final PatternBlock pattern; private final List<Expression<?>> projection; private final Function<Long, NODE> function; public GraphQueryImpl( SQLQuery query, PatternBlock pattern, List<Expression<?>> pr, Function<Long, NODE> function) { this.query = query; this.pattern = pattern; this.projection = pr; this.function = function; } @Override public CloseableIterator<STMT> getTriples() { return query.iterate(new STMTFactoryExpression(pattern, projection, function)); } }