Browse Source

DATACMNS-1673 - Polishing.

Convert instance field to constant. Use parameter count for iteration instead of cloning the parameter array.

Original pull request: #426.
2.1.x
Mark Paluch 6 years ago
parent
commit
2c258b0232
No known key found for this signature in database
GPG Key ID: 51A00FA751B91849
  1. 11
      src/main/java/org/springframework/data/repository/query/Parameters.java

11
src/main/java/org/springframework/data/repository/query/Parameters.java

@ -47,7 +47,8 @@ public abstract class Parameters<S extends Parameters<S, T>, T extends Parameter @@ -47,7 +47,8 @@ public abstract class Parameters<S extends Parameters<S, T>, T extends Parameter
"Either use @%s on all parameters except %s and %s typed once, or none at all!", Param.class.getSimpleName(),
Pageable.class.getSimpleName(), Sort.class.getSimpleName());
private final ParameterNameDiscoverer discoverer = new DefaultParameterNameDiscoverer();
private static final ParameterNameDiscoverer PARAMETER_NAME_DISCOVERER = new DefaultParameterNameDiscoverer();
private final int pageableIndex;
private final int sortIndex;
private final List<T> parameters;
@ -63,18 +64,18 @@ public abstract class Parameters<S extends Parameters<S, T>, T extends Parameter @@ -63,18 +64,18 @@ public abstract class Parameters<S extends Parameters<S, T>, T extends Parameter
Assert.notNull(method, "Method must not be null!");
Class<?>[] types = method.getParameterTypes();
int parameterCount = method.getParameterCount();
this.parameters = new ArrayList<>(types.length);
this.parameters = new ArrayList<>(parameterCount);
this.dynamicProjectionIndex = -1;
int pageableIndex = -1;
int sortIndex = -1;
for (int i = 0; i < types.length; i++) {
for (int i = 0; i < parameterCount; i++) {
MethodParameter methodParameter = new MethodParameter(method, i);
methodParameter.initParameterNameDiscovery(discoverer);
methodParameter.initParameterNameDiscovery(PARAMETER_NAME_DISCOVERER);
T parameter = createParameter(methodParameter);

Loading…
Cancel
Save