Class HvlOAuthAbstractHierarchyQueryGenerator<M extends tr.com.havelsan.javarch.dto.model.query.HvlQueryModel,Q extends com.querydsl.core.types.dsl.EntityPathBase<? extends tr.com.havelsan.javarch.data.commons.structure.HvlEntityStructure<Long>>>

java.lang.Object
tr.com.havelsan.javarch.data.jpa.query.generator.HvlBaseQueryGenerator<HQM,HQ>
tr.com.havelsan.javarch.data.jpa.query.generator.HvlEntityQueryGenerator<M,Q>
tr.com.havelsan.javarch.oauth.jpa.data.provider.generator.HvlOAuthAbstractHierarchyQueryGenerator<M,Q>
Type Parameters:
M - the type parameter
Q - the type parameter
All Implemented Interfaces:
tr.com.havelsan.javarch.data.jpa.query.generator.HvlQueryGenerator<M,Q>
Direct Known Subclasses:
HvlOAuthAuthorityQueryGenerator, HvlOAuthProfileDetailQueryGenerator

public abstract class HvlOAuthAbstractHierarchyQueryGenerator<M extends tr.com.havelsan.javarch.dto.model.query.HvlQueryModel,Q extends com.querydsl.core.types.dsl.EntityPathBase<? extends tr.com.havelsan.javarch.data.commons.structure.HvlEntityStructure<Long>>> extends tr.com.havelsan.javarch.data.jpa.query.generator.HvlEntityQueryGenerator<M,Q>
Base class for relation query generator which is used to prepare query.
  • Constructor Details

    • HvlOAuthAbstractHierarchyQueryGenerator

      protected HvlOAuthAbstractHierarchyQueryGenerator(@NonNull com.querydsl.core.types.dsl.NumberPath<Long> entityParentIdPath)
      Instantiates a new Hvl o auth abstract rel query generator.
      Parameters:
      entityParentIdPath - the entity parent id path
  • Method Details

    • prepareFilterPredicate

      protected void prepareFilterPredicate(com.querydsl.core.BooleanBuilder expressionBuilder, Map<String,Object> filters, Q entityQuery)
      Overrides:
      prepareFilterPredicate in class tr.com.havelsan.javarch.data.jpa.query.generator.HvlBaseQueryGenerator<M extends tr.com.havelsan.javarch.dto.model.query.HvlQueryModel,Q extends com.querydsl.core.types.dsl.EntityPathBase<? extends tr.com.havelsan.javarch.data.commons.structure.HvlEntityStructure<Long>>>
    • generateWithParentNodesRecursiveQuery

      public Function<com.querydsl.jpa.sql.JPASQLQuery<Void>,com.querydsl.jpa.sql.JPASQLQuery<Integer>> generateWithParentNodesRecursiveQuery(M entityQueryModel, Q entityQuery)
      Generate with parent nodes recursive query function.
      Parameters:
      entityQueryModel - the entity query model
      entityQuery - the entity query
      Returns:
      the function
    • generateWithParentNodesRecursiveQuery

      public Function<com.querydsl.jpa.sql.JPASQLQuery<Void>,com.querydsl.jpa.sql.JPASQLQuery<Integer>> generateWithParentNodesRecursiveQuery(M entityQueryModel, Q entityQuery, Supplier<Optional<com.querydsl.core.types.dsl.BooleanExpression>> cteQueryAnchorPredicate)
      Generate with parent nodes recursive query function.
      Parameters:
      entityQueryModel - the entity query model
      entityQuery - the entity query
      cteQueryAnchorPredicate - the cte query anchor predicate
      Returns:
      the function
    • generateWithChildNodesRecursiveQuery

      public Function<com.querydsl.jpa.sql.JPASQLQuery<Void>,com.querydsl.jpa.sql.JPASQLQuery<Integer>> generateWithChildNodesRecursiveQuery(M entityQueryModel, Q entityQuery)
      Generate with child nodes recursive query function.
      Parameters:
      entityQueryModel - the entity query model
      entityQuery - the entity query
      Returns:
      the function
    • generateWithChildNodesRecursiveQuery

      public Function<com.querydsl.jpa.sql.JPASQLQuery<Void>,com.querydsl.jpa.sql.JPASQLQuery<Integer>> generateWithChildNodesRecursiveQuery(M entityQueryModel, Q entityQuery, Supplier<Optional<com.querydsl.core.types.dsl.BooleanExpression>> cteQueryAnchorPredicate)
      Generate with child nodes recursive query function.
      Parameters:
      entityQueryModel - the entity query model
      entityQuery - the entity query
      cteQueryAnchorPredicate - the cte query anchor predicate
      Returns:
      the function