org.springframework.data.document.mongodb.repository
Class ConvertingParameterAccessor

java.lang.Object
  extended by org.springframework.data.document.mongodb.repository.ConvertingParameterAccessor

public class ConvertingParameterAccessor
extends java.lang.Object

Custom ParameterAccessor that uses a MongoWriter to serialize parameters into Mongo format.

Author:
Oliver Gierke

Nested Class Summary
private  class ConvertingParameterAccessor.ConvertingIterator
          Custom Iterator to convert items before returning them.
static interface ConvertingParameterAccessor.PotentiallyConvertingIterator
          Custom Iterator that adds a method to access elements in a converted manner.
private static class ConvertingParameterAccessor.ValueHolder
          Simple value holder class to allow conversion and accessing the converted value in a deterministic way.
 
Field Summary
private  ParameterAccessor delegate
           
private  MongoWriter<java.lang.Object> writer
           
 
Constructor Summary
ConvertingParameterAccessor(MongoWriter<java.lang.Object> writer, ParameterAccessor delegate)
          Creates a new ConvertingParameterAccessor with the given MongoWriter and delegate.
 
Method Summary
 java.lang.Object getBindableValue(int index)
           
private  java.lang.Object getConvertedValue(java.lang.Object value)
          Converts the given value with the underlying MongoWriter.
 Pageable getPageable()
           
 Sort getSort()
           
 java.util.Iterator<java.lang.Object> iterator()
           
private  java.lang.Object removeTypeInfoRecursively(java.lang.Object object)
          Removes the type information from the conversion result.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

writer

private final MongoWriter<java.lang.Object> writer

delegate

private final ParameterAccessor delegate
Constructor Detail

ConvertingParameterAccessor

public ConvertingParameterAccessor(MongoWriter<java.lang.Object> writer,
                                   ParameterAccessor delegate)
Creates a new ConvertingParameterAccessor with the given MongoWriter and delegate.

Parameters:
writer -
Method Detail

iterator

public java.util.Iterator<java.lang.Object> iterator()

getPageable

public Pageable getPageable()

getSort

public Sort getSort()

getBindableValue

public java.lang.Object getBindableValue(int index)

getConvertedValue

private java.lang.Object getConvertedValue(java.lang.Object value)
Converts the given value with the underlying MongoWriter.

Parameters:
value -
Returns:

removeTypeInfoRecursively

private java.lang.Object removeTypeInfoRecursively(java.lang.Object object)
Removes the type information from the conversion result.

Parameters:
object -
Returns: