// Path: src/main/java/org/deri/cqels/data/Mapping.java
// public interface Mapping extends Map<Var, Long>{
// 	
// 
// 	public long get(Var var); 
// 	
// 	public void from(OpRouter router);
// 	
// 	public OpRouter from();
// 	
// 	public ExecContext getCtx();
// 	
// 	public Iterator<Var> vars();
// 	
// 	public void addParent(Mapping parent);
// 	
// 	public boolean hasParent();
// 	
// 	public boolean isCompatible(Mapping mapping);
// }


import java.util.NoSuchElementException;
import org.deri.cqels.data.Mapping;
import com.hp.hpl.jena.query.QueryCancelledException;
import com.hp.hpl.jena.query.QueryException;
import com.hp.hpl.jena.query.QueryFatalException;
import com.hp.hpl.jena.sparql.util.Utils;
import org.apache.jena.atlas.logging.Log;
package org.deri.cqels.engine.iterator;


public abstract class MappingIteratorBase implements MappingIterator {

    private boolean finished = false;
    private boolean requestingCancel = false;
    private volatile boolean abortIterator = false;

    protected abstract void closeIterator();

    protected abstract boolean hasNextMapping();

// Path: src/main/java/org/deri/cqels/data/Mapping.java
// public interface Mapping extends Map<Var, Long>{
// 	
// 
// 	public long get(Var var); 
// 	
// 	public void from(OpRouter router);
// 	
// 	public OpRouter from();
// 	
// 	public ExecContext getCtx();
// 	
// 	public Iterator<Var> vars();
// 	
// 	public void addParent(Mapping parent);
// 	
// 	public boolean hasParent();
// 	
// 	public boolean isCompatible(Mapping mapping);
// }


// Path: src/main/java/org/deri/cqels/engine/iterator/MappingIteratorBase.java
import java.util.NoSuchElementException;
import org.deri.cqels.data.Mapping;
import com.hp.hpl.jena.query.QueryCancelledException;
import com.hp.hpl.jena.query.QueryException;
import com.hp.hpl.jena.query.QueryFatalException;
import com.hp.hpl.jena.sparql.util.Utils;
import org.apache.jena.atlas.logging.Log;

package org.deri.cqels.engine.iterator;


public abstract class MappingIteratorBase implements MappingIterator {

    private boolean finished = false;
    private boolean requestingCancel = false;
    private volatile boolean abortIterator = false;

    protected abstract void closeIterator();

    protected abstract boolean hasNextMapping();

    protected abstract Mapping moveToNextMapping();