// 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.ArrayList;
import org.deri.cqels.data.Mapping;
import com.hp.hpl.jena.query.Query;
package org.deri.cqels.engine;


/**
 * This class acts as a router standing in the root of the tree if the query is
 * a construct-type
 *
 * @author Danh Le Phuoc
 * @author Chan Le Van
 * @organization DERI Galway, NUIG, Ireland www.deri.ie
 * @email danh.lephuoc@deri.org
 * @email chan.levan@deri.org
 * @see OpRouter
 * @see OpRouterBase
 */
public class ContinuousConstruct extends OpRouter1 {

    private final Query query;
    private final ArrayList<ConstructListener> listeners;

    public ContinuousConstruct(ExecContext context, Query query, 
            OpRouter subRouter) {
        super(context, subRouter.getOp(), subRouter);
        this.query = query;
        this.listeners = new ArrayList<ConstructListener>();
    }

    @Override
// 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/ContinuousConstruct.java
import java.util.ArrayList;
import org.deri.cqels.data.Mapping;
import com.hp.hpl.jena.query.Query;

package org.deri.cqels.engine;


/**
 * This class acts as a router standing in the root of the tree if the query is
 * a construct-type
 *
 * @author Danh Le Phuoc
 * @author Chan Le Van
 * @organization DERI Galway, NUIG, Ireland www.deri.ie
 * @email danh.lephuoc@deri.org
 * @email chan.levan@deri.org
 * @see OpRouter
 * @see OpRouterBase
 */
public class ContinuousConstruct extends OpRouter1 {

    private final Query query;
    private final ArrayList<ConstructListener> listeners;

    public ContinuousConstruct(ExecContext context, Query query, 
            OpRouter subRouter) {
        super(context, subRouter.getOp(), subRouter);
        this.query = query;
        this.listeners = new ArrayList<ConstructListener>();
    }

    @Override
    public void route(Mapping mapping) {