This is an automated email from the ASF dual-hosted git repository. mbenson pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/bval.git
commit c39044853929ece203b681ada116bffb2af14536 Author: Matt Benson <[email protected]> AuthorDate: Fri Feb 8 17:42:24 2019 -0600 cache constrained-ness of executable parameters/return values --- .../src/main/java/org/apache/bval/jsr/descriptor/ExecutableD.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/ExecutableD.java b/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/ExecutableD.java index eab7a9a..4a73771 100644 --- a/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/ExecutableD.java +++ b/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/ExecutableD.java @@ -33,6 +33,8 @@ public abstract class ExecutableD<E extends Executable, R extends MetadataReader private final ReturnValueD<SELF, E> returnValue; private final List<ParameterD<SELF>> parameters; private final CrossParameterD<SELF, E> crossParameter; + private final boolean parametersAreConstrained; + private final boolean returnValueIsConstrained; @SuppressWarnings("unchecked") protected ExecutableD(R reader, BeanD<?> parent) { @@ -43,6 +45,8 @@ public abstract class ExecutableD<E extends Executable, R extends MetadataReader returnValue = reader.getReturnValueDescriptor((SELF) this); parameters = reader.getParameterDescriptors((SELF) this); crossParameter = reader.getCrossParameterDescriptor((SELF) this); + parametersAreConstrained = parameters.stream().anyMatch(DescriptorManager::isConstrained) || crossParameter.hasConstraints(); + returnValueIsConstrained = DescriptorManager.isConstrained(returnValue); } @Override @@ -68,11 +72,11 @@ public abstract class ExecutableD<E extends Executable, R extends MetadataReader @Override public final boolean hasConstrainedParameters() { - return parameters.stream().anyMatch(DescriptorManager::isConstrained) || getCrossParameterDescriptor().hasConstraints(); + return parametersAreConstrained; } @Override public final boolean hasConstrainedReturnValue() { - return DescriptorManager.isConstrained(returnValue); + return returnValueIsConstrained; } }
