private ParameterBinding getBindingFor(Object ebeanQuery, int position, Parameter parameter) {

        Assert.notNull(ebeanQuery, "EbeanQueryWrapper must not be null!");
        Assert.notNull(parameter, "Parameter must not be null!");

        if (parameter.isNamedParameter()) {
            return query.getBindingFor(parameter.getName().orElseThrow(() -> new IllegalArgumentException("Parameter needs to be named!")));
        }

        try {
            return query.getBindingFor(position);

        } catch (IllegalArgumentException ex) {

            // We should actually reject parameters unavailable, but as EclipseLink doesn't implement ….getParameter(int) for
            // native queries correctly we need to fall back to an indexed parameter
            // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=427892

            return new ParameterBinding(position);
        }
    }
private ParameterBinding getBindingFor ( Object ebeanQuery , int position , Parameter parameter ) { Assert . notNull ( ebeanQuery , "EbeanQueryWrapper must not be null!" ) ; Assert . notNull ( parameter , "Parameter must not be null!" ) ; if ( parameter . isNamedParameter ( ) ) { return query . getBindingFor ( parameter . getName ( ) . orElseThrow ( ( ) -> new IllegalArgumentException ( "Parameter needs to be named!" ) ) ) ; } try { return query . getBindingFor ( position ) ; } catch ( IllegalArgumentException ex ) { return new ParameterBinding ( position ) ; } }
Finds the {@link LikeParameterBinding} to be applied before binding a parameter value to the query.

@param ebeanQuery must not be {@literal null}.
@param position
@param parameter  must not be {@literal null}.
@return the {@link ParameterBinding} for the given parameters or {@literal null} if none available.