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 Details

    • browse

      void 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.
      Parameters:
      root - the starting path for the browse operation
      filter - defines the criteria for filtering browse results
      publisher - publishes the results of the browse operation
    • query

      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.
      Parameters:
      options - the configuration for the raw data query, including parameters such as time range, paths, and other query-specific settings
      processor - the handler responsible for processing the retrieved raw data points
    • query

      default void query(AggregatedQueryOptions options, AggregatedPointProcessor processor)
      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 parameters
      processor - 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 processed
      K - the type of complex query key
      Parameters:
      options - the configuration for the complex query, including query-specific settings
      processor - the handler responsible for processing the complex query results
    • getNativeAggregates

      default Collection<? extends AggregationType> 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.