All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.coode.oppl.queryplanner.QueryPlannerItem Maven / Gradle / Ivy

package org.coode.oppl.queryplanner;

import java.util.Collection;
import java.util.Set;

import org.coode.oppl.ExecutionMonitor;
import org.coode.oppl.bindingtree.BindingNode;
import org.coode.oppl.exceptions.RuntimeExceptionHandler;

/** @author Luigi Iannone */
public interface QueryPlannerItem {
    /** Matches this planner items
     * 
     * @param currentLeaves
     *            The current set of leaves
     * @param executionMonitor
     *            The Execution Monitor. Cannot be {@code null}
     * @param runtimeExceptionHandler
     *            The run-time exception handler. Cannot be {@code null}.
     * @return The new Set of current leaves.
     * @throws NullPointerException
     *             if the run-time exception handler or the execution monitor is
     *             {@code null}. */
    Set match(Collection currentLeaves,
            ExecutionMonitor executionMonitor,
            RuntimeExceptionHandler runtimeExceptionHandler);

    /** @param visitor
     *            visitor */
    void accept(QueryPlannerVisitor visitor);

    /** @param visitor
     *            visitor
     * @param 
     *            visitor return type
     * @return visitor value */
     O accept(QueryPlannerVisitorEx visitor);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy