DATACMNS-1673 - Polishing.

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

Original pull request: #426.
This commit is contained in:
Mark Paluch
2020-02-25 09:43:16 +01:00
parent eaaa37d4ff
commit ed7561a880

View File

@@ -48,7 +48,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;
@@ -65,18 +66,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);