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