Class ValueExpressionParameterValueProvider<P extends PersistentProperty<P>>

java.lang.Object
org.springframework.data.mapping.model.ValueExpressionParameterValueProvider<P>
All Implemented Interfaces:
ParameterValueProvider<P>
Direct Known Subclasses:
SpELExpressionParameterValueProvider

public class ValueExpressionParameterValueProvider<P extends PersistentProperty<P>> extends Object implements ParameterValueProvider<P>
ParameterValueProvider that can be used to front a ParameterValueProvider delegate to prefer a SpEL expression evaluation over directly resolving the parameter value with the delegate.
Since:
3.3
Author:
Oliver Gierke, Mark Paluch
  • Constructor Details

  • Method Details

    • getParameterValue

      @Nullable public <T> T getParameterValue(Parameter<T,P> parameter)
      Description copied from interface: ParameterValueProvider
      Returns the value to be used for the given Parameter (usually when entity instances are created).
      Specified by:
      getParameterValue in interface ParameterValueProvider<P extends PersistentProperty<P>>
      Parameters:
      parameter - must not be null.
      Returns:
    • potentiallyConvertSpelValue

      @Nullable @Deprecated(since="3.3") protected <T> T potentiallyConvertSpelValue(Object object, Parameter<T,P> parameter)
      Deprecated.
      Hook to allow to massage the value resulting from the Spel expression evaluation. Default implementation will leverage the configured ConversionService to massage the value into the parameter type.
      Parameters:
      object - the value to massage, will never be null.
      parameter - the Parameter we create the value for
      Returns:
      the converted parameter value.
    • potentiallyConvertExpressionValue

      @Nullable protected <T> T potentiallyConvertExpressionValue(Object object, Parameter<T,P> parameter)
      Hook to allow to massage the value resulting from the Spel expression evaluation. Default implementation will leverage the configured ConversionService to massage the value into the parameter type.
      Parameters:
      object - the value to massage, will never be null.
      parameter - the Parameter we create the value for
      Returns:
      the converted parameter value.
      Since:
      3.3