/** * */ package com.mysema.rdfbean.jena; import javax.annotation.Nullable; import com.hp.hpl.jena.graph.Triple; import com.hp.hpl.jena.util.iterator.ExtendedIterator; import com.mysema.commons.lang.CloseableIterator; import com.mysema.rdfbean.model.STMT; import com.mysema.rdfbean.model.UID; /** * @author tiwe * */ public final class TriplesIterator implements CloseableIterator<STMT> { private final JenaDialect dialect; private final ExtendedIterator<Triple> triples; @Nullable private final UID context; public TriplesIterator(JenaDialect dialect, ExtendedIterator<Triple> triples, @Nullable UID context) { this.dialect = dialect; this.triples = triples; this.context = context; } @Override public void close() { triples.close(); } @Override public boolean hasNext() { return triples.hasNext(); } @Override public STMT next() { Triple triple = triples.next(); return new STMT( dialect.getID(triple.getSubject()), dialect.getUID(triple.getPredicate()), dialect.getNODE(triple.getObject()), context); } @Override public void remove() { triples.remove(); } }