com.neeve.ods
Interface IStoreQueryEngine

All Superinterfaces:
IdxFieldResolver<IStoreObject>, QueryEngine<com.eaio.uuid.UUID,IStoreObject>

public interface IStoreQueryEngine
extends QueryEngine<com.eaio.uuid.UUID,IStoreObject>

A IStoreQueryEngine provides indexing and query capabilities for IStoreBindings.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.neeve.query.QueryEngine
QueryEngine.BackgroundIndexingPolicy
 
Method Summary
 IStoreQuery createQuery()
          Creates an empty Query that can be executed against this QueryEngine.
 IStoreQuery createQuery(String xsql)
          Creates a Query corresponding to the provided SELECT statement.
 IStoreQueryResultSet execute(IStoreQuery query)
          Executes the given log query against the logs added to this IStoreQueryEngine.
 IStoreQueryResultSet execute(String xsql)
          Executes an xpql query against this QueryEngine.
<T> IStoreField<T>
getField(Class<?> objectType, String fieldPath)
          Gets a field for the given recordType and field path.
<T> IStoreField<T>
getField(Class<?> objectType, String fieldPath, Class<T> fieldType, Class<?>... pathTypes)
          Gets a field for the given recordType and field path.
<T> IStoreField<T>
getField(String columnDefinition)
          Parses a field using the query engine's parser.
<T> IStoreField<T>
getField(String objectTypeName, String fieldPath)
          Gets a field from the given type name and fieldPath.
 
Methods inherited from interface com.neeve.query.QueryEngine
addRepository, close, createIndex, createIndex, createIndex, dropIndex, dropIndex, execute, executeStatement, getFetchRatioThreshold, getIndexedFields, getRepositories, removeRepository, setAutoIndexing, setAutoIndexLimit, setBackgroundIndexingPolicy, setDefaultIndexing, setDefaultPackage, setFetchRatioThreshold, setQueryStatGeneration, setSortAreaInMemoryCardinality, waitForBackgroundIndexing
 

Method Detail

execute

IStoreQueryResultSet execute(String xsql)
Description copied from interface: QueryEngine
Executes an xpql query against this QueryEngine.

Specified by:
execute in interface QueryEngine<com.eaio.uuid.UUID,IStoreObject>
Parameters:
xsql - The SELECT statement to execute.
Returns:
the QueryResult.

createQuery

IStoreQuery createQuery(String xsql)
Description copied from interface: QueryEngine
Creates a Query corresponding to the provided SELECT statement.

Specified by:
createQuery in interface QueryEngine<com.eaio.uuid.UUID,IStoreObject>
Parameters:
xsql - The query string

createQuery

IStoreQuery createQuery()
Description copied from interface: QueryEngine
Creates an empty Query that can be executed against this QueryEngine.

Specified by:
createQuery in interface QueryEngine<com.eaio.uuid.UUID,IStoreObject>
Returns:
A new Query.

execute

IStoreQueryResultSet execute(IStoreQuery query)
Executes the given log query against the logs added to this IStoreQueryEngine.

Parameters:
query - The query to execute.
Returns:
The IStoreQueryResultSet results.

getField

<T> IStoreField<T> getField(String columnDefinition)
                        throws QueryException,
                               QueryParseException
Description copied from interface: QueryEngine
Parses a field using the query engine's parser.

Specified by:
getField in interface QueryEngine<com.eaio.uuid.UUID,IStoreObject>
Parameters:
columnDefinition - A field.
Returns:
The resolved field
Throws:
QueryParseException - if the columnDefinition can't be parsed as a valid column name
QueryException - if there is an error resolving the field

getField

<T> IStoreField<T> getField(String objectTypeName,
                            String fieldPath)
Description copied from interface: IdxFieldResolver
Gets a field from the given type name and fieldPath.

Specified by:
getField in interface IdxFieldResolver<IStoreObject>
Parameters:
objectTypeName - The typeName of the log entry's object.
fieldPath - The bean path of the field.
Returns:
The resolved field.

getField

<T> IStoreField<T> getField(Class<?> objectType,
                            String fieldPath)
Description copied from interface: IdxFieldResolver
Gets a field for the given recordType and field path. Typically the recordType must be a subclass of the the IdxFieldResolver's RECORD type, but it is possible that some implementation can infer a field of RECORD type based on an alternative type.

Specified by:
getField in interface IdxFieldResolver<IStoreObject>
Parameters:
objectType - The class of the corresponding record.
fieldPath - The bean path of the field.
Returns:
The resolved field.

getField

<T> IStoreField<T> getField(Class<?> objectType,
                            String fieldPath,
                            Class<T> fieldType,
                            Class<?>... pathTypes)
Description copied from interface: IdxFieldResolver
Gets a field for the given recordType and field path. Typically the recordType must be a subclass of the the IdxFieldResolver's RECORD type, but it is possible that some implementation can infer a field of RECORD type based on an alternative type.

Specified by:
getField in interface IdxFieldResolver<IStoreObject>
Parameters:
objectType - The class of the corresponding record.
fieldPath - The bean path of the field.
fieldType - Indicates the required type of the field.
pathTypes - For cases where types in the field path are ambiguous, this allows specifying specific types for the intermediate paths.
Returns:
The resolved field.


Copyright © 2016 Neeve Research, LLC. All Rights Reserved.