net.ontopia.topicmaps.query.impl.basic
Class QueryProcessor

java.lang.Object
  extended by net.ontopia.topicmaps.query.impl.basic.AbstractQueryProcessor
      extended by net.ontopia.topicmaps.query.impl.basic.QueryProcessor
All Implemented Interfaces:
IndexIF, QueryProcessorIF

public class QueryProcessor
extends AbstractQueryProcessor
implements QueryProcessorIF, IndexIF

INTERNAL: This query processor implementation can be used to query any topic map implementation; it makes no assumptions about the stored form of the topic map.


Field Summary
protected  java.text.Collator collator
           
protected  TologOptions options
           
protected  TologParser parser
           
protected  TopicMapIF topicmap
           
 
Constructor Summary
QueryProcessor(TopicMapIF topicmap)
           
QueryProcessor(TopicMapIF topicmap, LocatorIF base)
           
 
Method Summary
 QueryMatches count(TologQuery query, QueryMatches matches)
          INTERNAL: Replaces count($A) variables by their relevant counts.
 QueryMatches createInitialMatches(TologQuery query, java.util.Collection items, java.util.Map arguments)
           
 QueryMatches createInitialMatches(TologQuery query, java.util.Map arguments)
           
 QueryResultIF execute(java.lang.String query)
          PUBLIC: Parses and executes the query, returning the results.
 QueryResultIF execute(java.lang.String query, DeclarationContextIF context)
          PUBLIC: Parses and executes the query in the given context, returning the results.
 QueryResultIF execute(java.lang.String query, java.util.Map arguments)
          PUBLIC: Parses and executes the query binding the parameters in the query to the values given in the 'arguments' map, returning the results.
 QueryResultIF execute(java.lang.String query, java.util.Map arguments, DeclarationContextIF context)
          PUBLIC: Parses and executes the query in the given context binding the parameters in the query to the values given in the 'arguments' map, returning the results.
 QueryResultIF execute(TologQuery query)
           
 QueryResultIF execute(TologQuery query, java.util.Map arguments)
           
 TologOptions getOptions()
           
 void load(java.io.Reader ruleset)
          DEPRECATED: Loads a set of rules into the query processor from a reader object.
 void load(java.lang.String ruleset)
          DEPRECATED: Loads a set of rules into the query processor from a string.
 ParsedQueryIF parse(java.lang.String query)
          PUBLIC: Parses the query, returning an object representing the result.
 ParsedQueryIF parse(java.lang.String query, DeclarationContextIF context)
          PUBLIC: Parses the query in the given context, returning an object representing the result.
protected  TologQuery parseQuery(java.lang.String query, DeclarationContextIF context)
           
 ParsedModificationStatementIF parseUpdate(java.lang.String statement)
          PUBLIC: Parses the update statement, returning an object representing the result.
 ParsedModificationStatementIF parseUpdate(java.lang.String statement, DeclarationContextIF context)
          PUBLIC: Parses the update statement in the given context, returning an object representing the result.
protected  ModificationStatement parseUpdateStatement(java.lang.String statement, DeclarationContextIF ctx)
           
 QueryMatches reduce(TologQuery query, QueryMatches matches)
          INTERNAL: Projects the query results onto the set of variables specified in the 'select' clause.
protected  int runUpdate(ModificationStatement statement, java.util.Map<java.lang.String,?> params)
           
 void sort(TologQuery query, QueryMatches matches)
          INTERNAL: Sorts the query result as requested.
 int update(java.lang.String query)
          PUBLIC: Runs the update statement, returning the number of modified objects.
 int update(java.lang.String query, DeclarationContextIF context)
          PUBLIC: Runs the update statement in the given declaration context, returning the number of modified objects.
 int update(java.lang.String query, java.util.Map<java.lang.String,?> params)
          PUBLIC: Runs the update statement with the given parameters, returning the number of modified objects.
 int update(java.lang.String query, java.util.Map<java.lang.String,?> params, DeclarationContextIF context)
          PUBLIC: Runs the update statement in the given declaration context with the given parameters, returning the number of modified objects.
 
Methods inherited from class net.ontopia.topicmaps.query.impl.basic.AbstractQueryProcessor
findClauseItems, findClauseVariables, satisfy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

topicmap

protected TopicMapIF topicmap

collator

protected java.text.Collator collator

options

protected TologOptions options

parser

protected TologParser parser
Constructor Detail

QueryProcessor

public QueryProcessor(TopicMapIF topicmap)

QueryProcessor

public QueryProcessor(TopicMapIF topicmap,
                      LocatorIF base)
Method Detail

getOptions

public TologOptions getOptions()

execute

public QueryResultIF execute(java.lang.String query)
                      throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Parses and executes the query, returning the results.

Specified by:
execute in interface QueryProcessorIF
Throws:
InvalidQueryException

execute

public QueryResultIF execute(java.lang.String query,
                             DeclarationContextIF context)
                      throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Parses and executes the query in the given context, returning the results.

Specified by:
execute in interface QueryProcessorIF
Throws:
InvalidQueryException

execute

public QueryResultIF execute(java.lang.String query,
                             java.util.Map arguments)
                      throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Parses and executes the query binding the parameters in the query to the values given in the 'arguments' map, returning the results.

Specified by:
execute in interface QueryProcessorIF
Throws:
InvalidQueryException

execute

public QueryResultIF execute(java.lang.String query,
                             java.util.Map arguments,
                             DeclarationContextIF context)
                      throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Parses and executes the query in the given context binding the parameters in the query to the values given in the 'arguments' map, returning the results.

Specified by:
execute in interface QueryProcessorIF
Throws:
InvalidQueryException

parse

public ParsedQueryIF parse(java.lang.String query)
                    throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Parses the query, returning an object representing the result.

Specified by:
parse in interface QueryProcessorIF
Throws:
InvalidQueryException

parse

public ParsedQueryIF parse(java.lang.String query,
                           DeclarationContextIF context)
                    throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Parses the query in the given context, returning an object representing the result.

Specified by:
parse in interface QueryProcessorIF
Throws:
InvalidQueryException

parseQuery

protected TologQuery parseQuery(java.lang.String query,
                                DeclarationContextIF context)
                         throws InvalidQueryException
Throws:
InvalidQueryException

load

public void load(java.lang.String ruleset)
          throws InvalidQueryException
Description copied from interface: QueryProcessorIF
DEPRECATED: Loads a set of rules into the query processor from a string. The rules will then be available for use in queries throughout the lifetime of the current scope.

Specified by:
load in interface QueryProcessorIF
Throws:
InvalidQueryException

load

public void load(java.io.Reader ruleset)
          throws InvalidQueryException,
                 java.io.IOException
Description copied from interface: QueryProcessorIF
DEPRECATED: Loads a set of rules into the query processor from a reader object. The rules will then be available for use in queries throughout the lifetime of the current scope.

Specified by:
load in interface QueryProcessorIF
Throws:
InvalidQueryException
java.io.IOException

execute

public QueryResultIF execute(TologQuery query)
                      throws InvalidQueryException
Throws:
InvalidQueryException

execute

public QueryResultIF execute(TologQuery query,
                             java.util.Map arguments)
                      throws InvalidQueryException
Throws:
InvalidQueryException

update

public int update(java.lang.String query)
           throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Runs the update statement, returning the number of modified objects.

Specified by:
update in interface QueryProcessorIF
Throws:
InvalidQueryException

update

public int update(java.lang.String query,
                  DeclarationContextIF context)
           throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Runs the update statement in the given declaration context, returning the number of modified objects.

Specified by:
update in interface QueryProcessorIF
Throws:
InvalidQueryException

update

public int update(java.lang.String query,
                  java.util.Map<java.lang.String,?> params)
           throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Runs the update statement with the given parameters, returning the number of modified objects.

Specified by:
update in interface QueryProcessorIF
Throws:
InvalidQueryException

update

public int update(java.lang.String query,
                  java.util.Map<java.lang.String,?> params,
                  DeclarationContextIF context)
           throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Runs the update statement in the given declaration context with the given parameters, returning the number of modified objects.

Specified by:
update in interface QueryProcessorIF
Throws:
InvalidQueryException

parseUpdate

public ParsedModificationStatementIF parseUpdate(java.lang.String statement)
                                          throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Parses the update statement, returning an object representing the result.

Specified by:
parseUpdate in interface QueryProcessorIF
Throws:
InvalidQueryException

parseUpdate

public ParsedModificationStatementIF parseUpdate(java.lang.String statement,
                                                 DeclarationContextIF context)
                                          throws InvalidQueryException
Description copied from interface: QueryProcessorIF
PUBLIC: Parses the update statement in the given context, returning an object representing the result.

Specified by:
parseUpdate in interface QueryProcessorIF
Throws:
InvalidQueryException

parseUpdateStatement

protected ModificationStatement parseUpdateStatement(java.lang.String statement,
                                                     DeclarationContextIF ctx)
                                              throws InvalidQueryException
Throws:
InvalidQueryException

runUpdate

protected int runUpdate(ModificationStatement statement,
                        java.util.Map<java.lang.String,?> params)
                 throws InvalidQueryException
Throws:
InvalidQueryException

createInitialMatches

public QueryMatches createInitialMatches(TologQuery query,
                                         java.util.Map arguments)

createInitialMatches

public QueryMatches createInitialMatches(TologQuery query,
                                         java.util.Collection items,
                                         java.util.Map arguments)

reduce

public QueryMatches reduce(TologQuery query,
                           QueryMatches matches)
INTERNAL: Projects the query results onto the set of variables specified in the 'select' clause. If there is no 'select' clause nothing is done.

Parameters:
query - The parsed query.
matches - The query result.

count

public QueryMatches count(TologQuery query,
                          QueryMatches matches)
INTERNAL: Replaces count($A) variables by their relevant counts.

Parameters:
query - The parsed query.
matches - The query result.

sort

public void sort(TologQuery query,
                 QueryMatches matches)
INTERNAL: Sorts the query result as requested.

Parameters:
query - The parsed query.
matches - The query result.


Copyright © 2000-2012 Ontopia.