Interface QueryEngine
- All Known Implementing Classes:
AbstractQueryEngine
public interface QueryEngine
The QueryEngine interface defines methods to retrieve and process historical data,
including raw, aggregated, and complex data points, for querying purposes.
Implementations of this interface are responsible for providing the logic to access various types of historical data sources and process them based on the provided configurations.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
browse
(QualifiedPath root, BrowseFilter filter, BrowsePublisher publisher) Allows browsing of a tree structure starting at a given root path while applying a filter and passing the results to a specified publisher.default Collection<? extends AggregationType>
Retrieves the collection of natively supported aggregate types for this query engine.default void
query
(AggregatedQueryOptions options, AggregatedPointProcessor processor) Executes an aggregated query based on the provided options and processes the results using the specified processor.default <P extends ComplexPoint<?>,
K extends ComplexQueryKey<?>>
voidquery
(ComplexQueryOptions<K> options, ComplexPointProcessor<P, K> processor) Executes a query on complex points based on the provided options and processes the results using the specified processor.void
query
(RawQueryOptions options, RawPointProcessor processor) Executes a query to retrieve raw data points based on the provided options and processes the results using the specified processor.
-
Method Details
-
browse
Allows browsing of a tree structure starting at a given root path while applying a filter and passing the results to a specified publisher.- Parameters:
root
- the starting path for the browse operationfilter
- defines the criteria for filtering browse resultspublisher
- publishes the results of the browse operation
-
query
Executes a query to retrieve raw data points based on the provided options and processes the results using the specified processor.- Parameters:
options
- the configuration for the raw data query, including parameters such as time range, paths, and other query-specific settingsprocessor
- the handler responsible for processing the retrieved raw data points
-
query
Executes an aggregated query based on the provided options and processes the results using the specified processor. This method defaults to indicate that aggregated queries aren't supported.- Parameters:
options
- the configuration for the aggregated query, including time window settings, paths, and other query parametersprocessor
- the handler responsible for processing the retrieved aggregated data points
-
query
default <P extends ComplexPoint<?>,K extends ComplexQueryKey<?>> void query(ComplexQueryOptions<K> options, ComplexPointProcessor<P, K> processor) Executes a query on complex points based on the provided options and processes the results using the specified processor. This default implementation indicates that complex queries aren't supported.- Type Parameters:
P
- the type of complex point being processedK
- the type of complex query key- Parameters:
options
- the configuration for the complex query, including query-specific settingsprocessor
- the handler responsible for processing the complex query results
-
getNativeAggregates
Retrieves the collection of natively supported aggregate types for this query engine.By default, this method returns an empty collection. Implementations should only include system-defined aggregates that are natively supported by the underlying historian.
During query execution:
- Supported aggregates will be queried directly from the historian
- Unsupported aggregates will attempt to be calculated from raw data using platform aggregation
- Returns:
- A collection of
AggregationType
supported natively by this query engine. Returns an empty collection if no native aggregates are supported.
-