Interface ConditionGenerator<T extends Condition>

Type Parameters:
T - condition type
All Known Implementing Classes:
DynAttrPropertyConditionGenerator, DynModelPropertyConditionGenerator, JpqlConditionGenerator, KeyValuePropertyConditionGenerator, LogicalConditionGenerator, PropertyConditionGenerator

@NullMarked public interface ConditionGenerator<T extends Condition>
Modifies parts of JPQL query
  • Method Details

    • supports

      boolean supports(ConditionGenerationContext context)
      Checks whether the condition generator supports the given context.
      Parameters:
      context - condition generation context
      Returns:
      true if the condition generator supports the given context, or false otherwise
    • generateJoin

      String generateJoin(ConditionGenerationContext context)
      Returns a JPQL 'join' clause modified according to the given context.
      Parameters:
      context - condition generation context
      Returns:
      a JPQL 'join' clause modified according to the given context
    • generateWhere

      String generateWhere(ConditionGenerationContext context)
      Returns a JPQL 'where' clause modified according to the given context.
      Parameters:
      context - condition generation context
      Returns:
      a JPQL 'where' clause modified according to the given context
    • processParameters

      Map<String,Object> processParameters(Map<String,Object> parameters, Map<String,Object> queryParameters, T condition, @Nullable String entityName)
      Returns parameters modified according to the given condition.
      Parameters:
      parameters - result parameters
      queryParameters - query parameters
      condition - the condition
      Returns:
      modified parameters
    • generateParameterValue

      @Deprecated(since="2.8", forRemoval=true) @Nullable Object generateParameterValue(@Nullable Condition condition, @Nullable Object parameterValue, @Nullable String entityName)
      Deprecated, for removal: This API element is subject to removal in a future version.
      method is used only in internal implementations of ConditionGenerator interface
      Returns a parameter value modified according to the given condition.
      Parameters:
      condition - a condition
      parameterValue - parameter value
      entityName - entity name
      Returns:
      a modified parameter value