org.gcube.searchsystem.planning.preprocessing
Interface Preprocessor


public interface Preprocessor

Classes that implement this interface, can apply static rules, filters, enhance the query tree with information(personalization, semantics, ...) etc. Their product will be the input to the planner.

Author:
vasilis verroios - DI NKUA

Method Summary
 search.library.util.cql.query.tree.GCQLNode preprocess(search.library.util.cql.query.tree.GCQLNode root)
          Receives the root of a CQL tree, preprocess it and returns a new CQL tree.
 

Method Detail

preprocess

search.library.util.cql.query.tree.GCQLNode preprocess(search.library.util.cql.query.tree.GCQLNode root)
                                                       throws CQLTreeSyntaxException
Receives the root of a CQL tree, preprocess it and returns a new CQL tree. The preprocessing may consist of applying static rules, filters, query enhancement, etc.

Parameters:
root - - the CQL tree root
Returns:
the preprocessed CQL tree
Throws:
CQLTreeSyntaxException - - when the input tree is not in a valid state (this case is possible when a chain of proprocessors is applied sequentially)