Interface AqlQueryParsingPostProcessor

All Superinterfaces:
org.springframework.core.Ordered
All Known Implementing Classes:
AqlEhrPathPostProcessor, AqlFromEhrOptimisationPostProcessor, AqlLimitPostProcessor, AqlParameterPostProcessor, AqlQueryFeatureCheck

public interface AqlQueryParsingPostProcessor extends org.springframework.core.Ordered
Used for modifications of the parsed AQL query directly after parsing. All Spring beans implementing this interface will be picked up by AqlQueryService.

Specifying the Order is required since in-place modifications may affect each other. Having multiple beans of this type with the same order value may produce inconsistent results.

  • Field Details

    • LIMIT_CONSTRAINT_PRECEDENCE

      static final int LIMIT_CONSTRAINT_PRECEDENCE
      See Also:
    • PARAMETER_REPLACEMENT_PRECEDENCE

      static final int PARAMETER_REPLACEMENT_PRECEDENCE
      See Also:
    • EHR_PATH_PRECEDENCE

      static final int EHR_PATH_PRECEDENCE
      See Also:
    • FEATURE_CHECK_PRECEDENCE

      static final int FEATURE_CHECK_PRECEDENCE
      See Also:
    • FROM_EHR_OPTIMISATION_PRECEDENCE

      static final int FROM_EHR_OPTIMISATION_PRECEDENCE
      See Also:
  • Method Details

    • afterParseAql

      void afterParseAql(org.ehrbase.openehr.sdk.aql.dto.AqlQuery aqlQuery, AqlQueryRequest request, AqlQueryContext ctx)
      Invoked after parsing the raw AQL string. The given AqlQuery object can be modified in-place. Meta information can be added through the AqlQueryContext.
      Parameters:
      aqlQuery - object representing the parsed AQL string
      request - the request passed to the service layer
      ctx - the query context