Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Spring Data Commons
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.data.repository.query.parser
Class AbstractQueryCreator<T,S>

    java.lang.Object
      org.springframework.data.repository.query.parser.AbstractQueryCreator<T,S>

    public abstract class AbstractQueryCreator<T,S>

extends Object

Base class for query creators that create criteria based queries from a `PartTree`.

Author:
  Oliver Gierke

Constructor Summary
`AbstractQueryCreator(PartTree tree)` Creates a new `AbstractQueryCreator` for the given `PartTree`.
`AbstractQueryCreator(PartTree tree, ParameterAccessor parameters)` Creates a new `AbstractQueryCreator` for the given `PartTree` and `ParametersParameterAccessor`.

Method Summary
`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.
`protected abstract T` | `complete(S criteria, Sort sort)` Actually creates the query object applying the given criteria object and `Sort` definition.
`protected abstract S` | `create(Part part, Iterator<Object> iterator)` Creates a new atomic instance of the criteria object.
`T` | `createQuery()` Creates the actual query object.
`T` | `createQuery(Sort sort)` Creates the actual query object applying the given `Sort` parameter.
`protected abstract S` | `or(S base, S criteria)` Or-concatenates the given base criteria to the given new criteria.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AbstractQueryCreator

    public AbstractQueryCreator(PartTree tree,
                                ParameterAccessor parameters)

  Creates a new `AbstractQueryCreator` for the given `PartTree` and `ParametersParameterAccessor`. The latter is used to hand actual parameter values into the callback methods as well as to apply dynamic sorting via a `Sort` parameter.

  Parameters:
    `tree` - must not be null.
    `parameters` - can be null.

### AbstractQueryCreator

    public AbstractQueryCreator(PartTree tree)

  Creates a new `AbstractQueryCreator` for the given `PartTree`. This will cause null be handed for the `Iterator` in the callback methods.

  Parameters:
    `tree` - must not be null.

Method Detail

### createQuery

    public T createQuery()

  Creates the actual query object.

  Returns:

### createQuery

    public T createQuery(Sort sort)

  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:
    `sort` -
  Returns:

### create

    protected abstract S create(Part part,
                                Iterator<Object> iterator)

  Creates a new atomic instance of the criteria object.

  Parameters:
    `part` -
    `iterator` -
  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` -
    `base` - will never be null.
    `iterator` -
  Returns:

### or

    protected abstract S or(S base,
                            S criteria)

  Or-concatenates the given base criteria to the given new criteria.

  Parameters:
    `base` -
    `criteria` -
  Returns:

### complete

    protected abstract T complete(S criteria,
                                  Sort sort)

  Actually creates the query object applying the given criteria object and `Sort` definition.

  Parameters:
    `criteria` -
    `sort` -
  Returns:

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Spring Data Commons
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2011. All Rights Reserved.