Spring Data Commons

org.springframework.data.repository.query.parser
Class PartTree

java.lang.Object
  extended by org.springframework.data.repository.query.parser.PartTree
All Implemented Interfaces:
Iterable<PartTree.OrPart>

public class PartTree
extends Object
implements Iterable<PartTree.OrPart>

Class to parse a String into a tree or PartTree.OrParts consisting of simple PartTree.OrPart instances in turn. Takes a domain class as well to validate that each of the PartTree.OrParts are referring to a property of the domain class. The PartTree can then be used to build queries based on its API instead of parsing the method name for each query execution.

Author:
Oliver Gierke

Nested Class Summary
static class PartTree.OrPart
          A part of the parsed source that results from splitting up the resource around Or keywords.
 
Constructor Summary
PartTree(String source, Class<?> domainClass)
          Creates a new PartTree by parsing the given String.
 
Method Summary
 Iterable<Part> getParts()
          Returns an Iterable of all parts contained in the PartTree.
 Iterable<Part> getParts(Part.Type type)
          Returns all PartTree.OrParts of the PartTree of the given Part.Type.
 Sort getSort()
          Returns the Sort specification parsed from the source or null.
 boolean isDistinct()
          Returns whether we indicate distinct lookup of entities.
 Iterator<PartTree.OrPart> iterator()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PartTree

public PartTree(String source,
                Class<?> domainClass)
Creates a new PartTree by parsing the given String.

Parameters:
source - the String to parse
domainClass - the domain class to check individual parts against to ensure they refer to a property of the class
Method Detail

iterator

public Iterator<PartTree.OrPart> iterator()
Specified by:
iterator in interface Iterable<PartTree.OrPart>

getSort

public Sort getSort()
Returns the Sort specification parsed from the source or null.

Returns:
the sort

isDistinct

public boolean isDistinct()
Returns whether we indicate distinct lookup of entities.

Returns:
true if distinct

getParts

public Iterable<Part> getParts()
Returns an Iterable of all parts contained in the PartTree.

Returns:
the iterable PartTree.OrParts

getParts

public Iterable<Part> getParts(Part.Type type)
Returns all PartTree.OrParts of the PartTree of the given Part.Type.

Parameters:
type -
Returns:

toString

public String toString()
Overrides:
toString in class Object

Spring Data Commons

Copyright © 2012. All Rights Reserved.