/* * Copyright (c) 2009 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.sesame; import org.openrdf.model.Statement; import org.openrdf.repository.RepositoryResult; import com.mysema.commons.lang.Assert; import com.mysema.rdfbean.model.RepositoryException; import com.mysema.rdfbean.model.STMT; /** * RepositoryResultIterator provides a CloseableIterator adapter for * ModelResults * * @author tiwe * @author sasa * @version $Id$ */ public class RepositoryResultIterator extends AbstractResultIterator { private final RepositoryResult<Statement> statements; private final boolean includeInferred; public RepositoryResultIterator(SesameDialect dialect, RepositoryResult<Statement> statements, boolean includeInferred) { super(dialect); this.statements = Assert.notNull(statements, "statements"); this.includeInferred = includeInferred; } @Override public void close() { try { statements.close(); } catch (org.openrdf.repository.RepositoryException e1) { throw new RepositoryException(e1); } } @Override public boolean hasNext() { try { return statements.hasNext(); } catch (org.openrdf.repository.RepositoryException e) { throw new RepositoryException(e); } } @Override public STMT next() { try { return convert(statements.next(), !includeInferred); } catch (org.openrdf.repository.RepositoryException e) { throw new RepositoryException(e); } } @Override public void remove() { throw new UnsupportedOperationException("remove"); } }