@Override public final <T> Set<ConstraintViolation<T>> validate(T object, Class<?>... groups) { Contracts.assertNotNull( object, MESSAGES.validatedObjectMustNotBeNull() ); if ( !beanMetaDataManager.isConstrained( object.getClass() ) ) { return Collections.emptySet(); } ValidationOrder validationOrder = determineGroupValidationOrder( groups ); ValidationContext<T> validationContext = getValidationContext().forValidate( object ); ValueContext<?, Object> valueContext = ValueContext.getLocalExecutionContext( object, beanMetaDataManager.getBeanMetaData( object.getClass() ), PathImpl.createRootPath() ); return validateInContext( validationContext, valueContext, validationOrder ); }
private <T> Set<ConstraintViolation<T>> validateParameters(T object, ExecutableElement executable, Object[] parameterValues, Class<?>... groups) { //this might be the case for parameterless methods if ( parameterValues == null ) { return Collections.emptySet(); } ValidationOrder validationOrder = determineGroupValidationOrder( groups ); ValidationContext<T> context = getValidationContext().forValidateParameters( parameterNameProvider, object, executable, parameterValues ); if ( !beanMetaDataManager.isConstrained( context.getRootBeanClass() ) ) { return Collections.emptySet(); } validateParametersInContext( context, parameterValues, validationOrder ); return context.getFailingConstraints(); }
private <T> Set<ConstraintViolation<T>> validateReturnValue(T object, Executable executable, Object returnValue, Class<?>... groups) { sanityCheckGroups( groups ); ValidationContext<T> validationContext = getValidationContextBuilder().forValidateReturnValue( object, executable, returnValue ); if ( !validationContext.getRootBeanMetaData().hasConstraints() ) { return Collections.emptySet(); } ValidationOrder validationOrder = determineGroupValidationOrder( groups ); validateReturnValueInContext( validationContext, object, returnValue, validationOrder ); return validationContext.getFailingConstraints(); }
public static ValidationContextBuilder getValidationContext( ConstraintValidatorManager constraintValidatorManager, MessageInterpolator messageInterpolator, ConstraintValidatorFactory constraintValidatorFactory, TraversableResolver traversableResolver, TimeProvider timeProvider, List<ValidatedValueUnwrapper<?>> validatedValueUnwrappers, TypeResolutionHelper typeResolutionHelper, boolean failFast) { return new ValidationContextBuilder( constraintValidatorManager, messageInterpolator, constraintValidatorFactory, traversableResolver, timeProvider, validatedValueUnwrappers, typeResolutionHelper, failFast ); }
@Override public final <T> Set<ConstraintViolation<T>> validateValue(Class<T> beanType, String propertyName, Object value, Class<?>... groups) { Contracts.assertNotNull( beanType, MESSAGES.beanTypeCannotBeNull() ); sanityCheckPropertyPath( propertyName ); sanityCheckGroups( groups ); ValidationContext<T> validationContext = getValidationContextBuilder().forValidateValue( beanType ); if ( !validationContext.getRootBeanMetaData().hasConstraints() ) { return Collections.emptySet(); } ValidationOrder validationOrder = determineGroupValidationOrder( groups ); return validateValueInContext( validationContext, value, PathImpl.createPathFromString( propertyName ), validationOrder ); }
@Override public final <T> Set<ConstraintViolation<T>> validateProperty(T object, String propertyName, Class<?>... groups) { Contracts.assertNotNull( object, MESSAGES.validatedObjectMustNotBeNull() ); sanityCheckPropertyPath( propertyName ); ValidationOrder validationOrder = determineGroupValidationOrder( groups ); ValidationContext<T> context = getValidationContext().forValidateProperty( object ); if ( !beanMetaDataManager.isConstrained( context.getRootBeanClass() ) ) { return Collections.emptySet(); } return validatePropertyInContext( context, PathImpl.createPathFromString( propertyName ), validationOrder ); }
@Override public final <T> Set<ConstraintViolation<T>> validateValue(Class<T> beanType, String propertyName, Object value, Class<?>... groups) { Contracts.assertNotNull( beanType, MESSAGES.beanTypeCannotBeNull() ); if ( !beanMetaDataManager.isConstrained( beanType ) ) { return Collections.emptySet(); } sanityCheckPropertyPath( propertyName ); ValidationOrder validationOrder = determineGroupValidationOrder( groups ); ValidationContext<T> context = getValidationContext().forValidateValue( beanType ); return validateValueInContext( context, value, PathImpl.createPathFromString( propertyName ), validationOrder ); }
@Override public final <T> Set<ConstraintViolation<T>> validate(T object, Class<?>... groups) { Contracts.assertNotNull( object, MESSAGES.validatedObjectMustNotBeNull() ); sanityCheckGroups( groups ); ValidationContext<T> validationContext = getValidationContextBuilder().forValidate( object ); if ( !validationContext.getRootBeanMetaData().hasConstraints() ) { return Collections.emptySet(); } ValidationOrder validationOrder = determineGroupValidationOrder( groups ); ValueContext<?, Object> valueContext = ValueContext.getLocalExecutionContext( validatorScopedContext.getParameterNameProvider(), object, validationContext.getRootBeanMetaData(), PathImpl.createRootPath() ); return validateInContext( validationContext, valueContext, validationOrder ); }
private <T> Set<ConstraintViolation<T>> validateParameters(T object, Executable executable, Object[] parameterValues, Class<?>... groups) { sanityCheckGroups( groups ); ValidationContext<T> validationContext = getValidationContextBuilder().forValidateParameters( validatorScopedContext.getParameterNameProvider(), object, executable, parameterValues ); if ( !validationContext.getRootBeanMetaData().hasConstraints() ) { return Collections.emptySet(); } ValidationOrder validationOrder = determineGroupValidationOrder( groups ); validateParametersInContext( validationContext, parameterValues, validationOrder ); return validationContext.getFailingConstraints(); }
@Override public final <T> Set<ConstraintViolation<T>> validateProperty(T object, String propertyName, Class<?>... groups) { Contracts.assertNotNull( object, MESSAGES.validatedObjectMustNotBeNull() ); sanityCheckPropertyPath( propertyName ); sanityCheckGroups( groups ); ValidationContext<T> validationContext = getValidationContextBuilder().forValidateProperty( object ); if ( !validationContext.getRootBeanMetaData().hasConstraints() ) { return Collections.emptySet(); } PathImpl propertyPath = PathImpl.createPathFromString( propertyName ); ValueContext<?, Object> valueContext = getValueContextForPropertyValidation( validationContext, propertyPath ); if ( valueContext.getCurrentBean() == null ) { throw LOG.getUnableToReachPropertyToValidateException( validationContext.getRootBean(), propertyPath ); } ValidationOrder validationOrder = determineGroupValidationOrder( groups ); return validateInContext( validationContext, valueContext, validationOrder ); }
public static ValidationContextBuilder getValidationContextBuilder( BeanMetaDataManager beanMetaDataManager, ConstraintValidatorManager constraintValidatorManager, ConstraintValidatorFactory constraintValidatorFactory, ValidatorScopedContext validatorScopedContext, TraversableResolver traversableResolver, HibernateConstraintValidatorInitializationContext constraintValidatorInitializationContext) { return new ValidationContextBuilder( beanMetaDataManager, constraintValidatorManager, constraintValidatorFactory, validatorScopedContext, traversableResolver, constraintValidatorInitializationContext ); }
private <T> Set<ConstraintViolation<T>> validateReturnValue(T object, ExecutableElement executable, Object returnValue, Class<?>... groups) { ValidationOrder validationOrder = determineGroupValidationOrder( groups ); ValidationContext<T> context = getValidationContext().forValidateReturnValue( object, executable, returnValue ); if ( !beanMetaDataManager.isConstrained( context.getRootBeanClass() ) ) { return Collections.emptySet(); } validateReturnValueInContext( context, object, returnValue, validationOrder ); return context.getFailingConstraints(); }