Class AbstractQueryCreator<T,S>

java.lang.Object
org.springframework.data.repository.query.parser.AbstractQueryCreator<T,S>
Type Parameters:
T - the actual query type to be created
S - the intermediate criteria type

public abstract class AbstractQueryCreator<T,S> extends Object
Base class for query creators that create criteria based queries from a PartTree.
Author:
Oliver Gierke, Mark Paluch, Christoph Strobl, Johannes Englmeier
  • Constructor Details

  • Method Details

    • createQuery

      public T createQuery()
      Creates the actual query object.
      Returns:
    • createQuery

      public T createQuery(Sort dynamicSort)
      Creates the actual query object applying the given Sort parameter. Use this method in case you haven't provided a ParameterAccessor in the first place but want to apply dynamic sorting nevertheless.
      Parameters:
      dynamicSort - must not be null.
      Returns:
    • create

      protected abstract S create(Part part, Iterator<Object> iterator)
      Creates a new atomic instance of the criteria object.
      Parameters:
      part - must not be null.
      iterator - must not be null.
      Returns:
    • and

      protected abstract S and(Part part, S base, Iterator<Object> iterator)
      Creates a new criteria object from the given part and and-concatenates it to the given base criteria.
      Parameters:
      part - must not be null.
      base - will never be null.
      iterator - must not be null.
      Returns:
    • or

      protected abstract S or(S base, S criteria)
      Or-concatenates the given base criteria to the given new criteria.
      Parameters:
      base - must not be null.
      criteria - must not be null.
      Returns:
    • complete

      protected abstract T complete(@Nullable S criteria, Sort sort)
      Actually creates the query object applying the given criteria object and Sort definition.
      Parameters:
      criteria - can be null.
      sort - must not be null.
      Returns: