private <T> void validateReturnValueForSingleGroup(ValidationContext<T> validationContext, ExecutableMetaData executableMetaData, T bean, Object value, Class<?> oneGroup) { // validate constraints at return value itself ValueContext<?, Object> valueContext = getExecutableValueContext( executableMetaData.getKind() == ElementKind.CONSTRUCTOR ? value : bean, executableMetaData, executableMetaData.getReturnValueMetaData(), oneGroup ); ReturnValueMetaData returnValueMetaData = executableMetaData.getReturnValueMetaData(); validateMetaConstraints( validationContext, valueContext, value, returnValueMetaData ); }
private <T> void validateParametersForSingleGroup(ValidationContext<T> validationContext, Object[] parameterValues, ExecutableMetaData executableMetaData, Class<?> currentValidatedGroup) { if ( !executableMetaData.getCrossParameterConstraints().isEmpty() ) { ValueContext<T, Object> valueContext = getExecutableValueContext( validationContext.getRootBean(), executableMetaData, executableMetaData.getValidatableParametersMetaData(), currentValidatedGroup ); ValueContext<T, Object> valueContext = getExecutableValueContext( validationContext.getRootBean(), executableMetaData, executableMetaData.getValidatableParametersMetaData(), currentValidatedGroup );
private <T> void validateReturnValueForSingleGroup(ValidationContext<T> validationContext, ExecutableMetaData executableMetaData, T bean, Object value, Class<?> oneGroup) { // validate constraints at return value itself ValueContext<?, Object> valueContext = getExecutableValueContext( executableMetaData.getKind() == ElementKind.CONSTRUCTOR ? value : bean, executableMetaData, oneGroup ); valueContext.setCurrentValidatedValue( value ); ReturnValueMetaData returnValueMetaData = executableMetaData.getReturnValueMetaData(); valueContext.appendNode( returnValueMetaData ); valueContext.setUnwrapMode( returnValueMetaData.unwrapMode() ); validateConstraintsForGroup( validationContext, valueContext, returnValueMetaData ); if ( shouldFailFast( validationContext ) ) { return; } if ( !returnValueMetaData.isCascading() ) { validateConstraintsForGroup( validationContext, valueContext, returnValueMetaData.getTypeArgumentsConstraints() ); if ( shouldFailFast( validationContext ) ) { return; } } }
private <T> void validateParametersForSingleGroup(ValidationContext<T> validationContext, Object[] parameterValues, ExecutableMetaData executableMetaData, Class<?> currentValidatedGroup) { ValueContext<T, Object> valueContext = getExecutableValueContext( validationContext.getRootBean(), executableMetaData, currentValidatedGroup ); valueContext = getExecutableValueContext( validationContext.getRootBean(), executableMetaData, currentValidatedGroup );