当前位置: 首页>>代码示例>>Java>>正文


Java ExecutableValidator类代码示例

本文整理汇总了Java中javax.validation.executable.ExecutableValidator的典型用法代码示例。如果您正苦于以下问题:Java ExecutableValidator类的具体用法?Java ExecutableValidator怎么用?Java ExecutableValidator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ExecutableValidator类属于javax.validation.executable包,在下文中一共展示了ExecutableValidator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: main

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
public static void main(String[] args) throws NoSuchMethodException, SecurityException {
	AutoRunHelper.run(App.class);
	
	// 测试参数校验
	App app = new App();
	
	ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
	ExecutableValidator executableValidator = factory.getValidator().forExecutables();
	Method method = App.class.getMethod("showEmail", String.class);
	
	Object[] parameterValues = {"email"};
	Set<ConstraintViolation<App>> violations = executableValidator.validateParameters(app, method, parameterValues);
	String message = violations.iterator().hasNext() ? violations.iterator().next().getMessage() : "";
	System.out.println("values:" + parameterValues[0].toString() + " size: " + violations.size() + " msg:" + message);
	
	Object[] parameterValues2 = {"abc"};
	violations = executableValidator.validateParameters(app, method, parameterValues2);
	message = violations.iterator().hasNext() ? violations.iterator().next().getMessage() : "";
	System.out.println("values:" + parameterValues2[0].toString() + " size: " + violations.size() + " msg:" + message);

}
 
开发者ID:zhoukekestar,项目名称:java-notes,代码行数:22,代码来源:App.java

示例2: verifyMethod

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
/**
 * Validate the method parameters based on javax.validation: Hibernate Validator.
 *
 * @param proxy  The checked target object.
 * @param method The checked target method.
 * @param args   The checked target method's parameters.
 * @param <T>    The target object type: Generic types.
 */
public <T> void verifyMethod(
        final T proxy,
        final Method method,
        final Object[] args) {
    // 1. Get method validator
    final ExecutableValidator validatorParam
            = VALIDATOR.forExecutables();
    // 2. Create new params that wait for validation
    final Set<ConstraintViolation<T>> constraints
            = validatorParam.validateParameters(proxy, method, args);
    // 3. Throw out exception
    if (!constraints.isEmpty()) {
        final ConstraintViolation<T> item = constraints.iterator().next();
        if (null != item) {
            final WebException error
                    = new _400ValidationException(getClass(),
                    proxy.getClass(), method, item.getMessage());
            error.setReadible(item.getMessage());
            throw error;
        }
    }
}
 
开发者ID:silentbalanceyh,项目名称:vertx-zero,代码行数:31,代码来源:Validator.java

示例3: getValidateServiceMethodContext

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Nullable
protected ValidateServiceMethodContext getValidateServiceMethodContext(ProceedingJoinPoint ctx) {
    ValidateServiceMethodContext validatedContext = null;
    if (ctx instanceof MethodInvocationProceedingJoinPoint) {
        MethodInvocationProceedingJoinPoint methodInvocationCtx = (MethodInvocationProceedingJoinPoint) ctx;

        Method method = ((MethodSignature) ctx.getSignature()).getMethod();

        Validated validated = getValidated(method, ctx.getSignature().getDeclaringType());
        if (validated != null) {
            Object[] args = methodInvocationCtx.getArgs();
            ExecutableValidator validator = beanValidation.getValidator().forExecutables();

            validatedContext = new ValidateServiceMethodContext(validator, ctx.getThis(),
                    method, args, validated.value());
        }
    }
    return validatedContext;
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:20,代码来源:ServiceInterceptor.java

示例4: constructorViolationsWhenNullParameters

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Test
public void constructorViolationsWhenNullParameters() throws NoSuchMethodException, SecurityException {
       final MyParameter parameter = new MyParameter();

	ExecutableValidator methodValidator = validator.forExecutables();
	Constructor<MyBean2> constructor = MyBean2.class
			.getConstructor(parameter.getClass());

	Set<ConstraintViolation<MyBean2>> constraints = methodValidator
			.validateConstructorParameters(constructor, new Object[] {parameter});

	ConstraintViolation<MyBean2> violation = constraints.iterator().next();
	assertThat(constraints.size(), equalTo(1));
	assertThat(violation.getMessageTemplate(), equalTo("{javax.validation.constraints.NotNull.message}"));
	assertThat(violation.getPropertyPath().toString(), equalTo("MyBean2.arg0.value"));
}
 
开发者ID:ftomassetti,项目名称:JavaIncrementalParser,代码行数:17,代码来源:ConstructorParametersConstraintsTest.java

示例5: configure

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Override
protected void configure() {
    final GuiceConstraintValidatorFactory constraintValidatorFactory = new GuiceConstraintValidatorFactory();
    requestInjection(constraintValidatorFactory);

    /* Overriding just constraints factory to allow them use guice injections */
    final Validator validator = factory.usingContext()
            .constraintValidatorFactory(constraintValidatorFactory)
            .getValidator();

    bind(Validator.class).toInstance(validator);
    bind(ExecutableValidator.class).toInstance(validator.forExecutables());
    bind(ValidatorFactory.class).toInstance(factory);

    bindConstant().annotatedWith(Names.named("guice.validator.addDefaultGroup")).to(addDefaultGroup);
    final ValidationGroupInterceptor groupInterceptor = new ValidationGroupInterceptor();
    requestInjection(groupInterceptor);
    configureGroupsAop(groupInterceptor);

    final ValidationMethodInterceptor interceptor = new ValidationMethodInterceptor();
    requestInjection(interceptor);
    configureAop(interceptor);
}
 
开发者ID:xvik,项目名称:guice-validator,代码行数:24,代码来源:AbstractValidationModule.java

示例6: testMethodParameters

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Test
public void testMethodParameters() throws NoSuchMethodException {
    ExecutableValidator executableValidator = validator.forExecutables();
    Method method = RentalStation.class.getMethod("rentCar", String.class, Date.class,
            Integer.TYPE);
    RentalStation station = new RentalStation("hertz", "");
    Set<ConstraintViolation<RentalStation>> violations = executableValidator.validateParameters(
            station, method, new Object[]{"Clement", new Date(System.currentTimeMillis() + 10000), 1});
    assertThat(violations.size()).isEqualTo(0);
    violations = executableValidator.validateParameters(
            station, method, new Object[]{"Clement", new Date(System.currentTimeMillis() - 10000), 1});
    assertThat(violations.size()).isEqualTo(1);
    violations = executableValidator.validateParameters(
            station, method, new Object[]{"Clement", new Date(System.currentTimeMillis() - 10000), 0});
    assertThat(violations.size()).isEqualTo(2);
    violations = executableValidator.validateParameters(
            station, method, new Object[]{null, new Date(System.currentTimeMillis() - 10000), 0});
    assertThat(violations.size()).isEqualTo(3);
}
 
开发者ID:wisdom-framework,项目名称:wisdom,代码行数:20,代码来源:ValidationTest.java

示例7: validateMethodInvocation

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@AroundInvoke
public Object validateMethodInvocation(InvocationContext ctx) throws Exception {

    Object resource = ctx.getTarget();
    Method method = ctx.getMethod();

    log.log(Level.FINE, "Starting validation for controller method: {0}#{1}", new Object[]{
            resource.getClass().getName(), method.getName()
    });

    Validator validator = validatorFactory.getValidator();
    ExecutableValidator executableValidator = validator.forExecutables();

    // validate controller property parameters
    processViolations(ctx,
            validator.validate(resource)
    );

    // validate controller method parameters
    processViolations(ctx,
            executableValidator.validateParameters(resource, method, ctx.getParameters())
    );

    // execute method
    Object result = ctx.proceed();

    // TODO: Does this make sense? Nobody will be able to handle these. Remove?
    processViolations(ctx,
            executableValidator.validateReturnValue(resource, method, result)
    );

    return result;

}
 
开发者ID:mvc-spec,项目名称:ozark,代码行数:35,代码来源:ValidationInterceptor.java

示例8: handleMessage

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Override
public void handleMessage(Message message) {
    final List<Object> arguments = MessageContentsList.getContentsList(message);
    if (!arguments.isEmpty()) {
        final Object instance = message.getExchange().get(Message.SERVICE_OBJECT);
        final Method method = (Method) message.get(METHOD_KEY);
        final ExecutableValidator methodValidator = validator.forExecutables();
        final Class<?>[] groups = Optional.ofNullable(method.getAnnotation(Groups.class)).map(Groups::value).orElse(DEFAULT_GROUPS);
        final Set<ConstraintViolation<Object>> violations = methodValidator.validateParameters(instance, method, arguments.toArray(), groups);
        if (!violations.isEmpty()) {
            message.put(FaultListener.class.getName(), new NoOpFaultListener());
            throw new JaxrsServerValidationException(violations);
        }
    }
}
 
开发者ID:Microbule,项目名称:microbule,代码行数:16,代码来源:ValidationInterceptor.java

示例9: validateMethodParameters

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
protected void validateMethodParameters(ProceedingJoinPoint ctx,
                                        @Nullable ValidateServiceMethodContext validatedContext) {
    if (validatedContext != null) {
        log.trace("Validating service call params: {}", ctx.getSignature());

        ExecutableValidator validator = validatedContext.getValidator();

        Class[] constraintGroups = validatedContext.getGroups();
        if (constraintGroups.length == 0) {
            constraintGroups = new Class[]{Default.class, ServiceParametersChecks.class};
        }

        Set<ConstraintViolation<Object>> violations = validator.validateParameters(
                validatedContext.getTarget(),
                validatedContext.getMethod(),
                validatedContext.getArgs(),
                constraintGroups);

        if (!violations.isEmpty()) {
            Class serviceInterface = ctx.getSignature().getDeclaringType();
            Set<ConstraintViolation<Object>> resultViolations = violations.stream()
                    .map(violation -> new ServiceMethodConstraintViolation(serviceInterface, violation))
                    .collect(Collectors.toSet());

            throw new MethodParametersValidationException("Service method parameters validation failed", resultViolations);
        }
    }
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:29,代码来源:ServiceInterceptor.java

示例10: validateMethodResult

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
protected void validateMethodResult(ProceedingJoinPoint ctx, ValidateServiceMethodContext validatedContext,
                                    Object methodResult) {
    if (validatedContext != null) {
        ExecutableValidator validator = validatedContext.getValidator();

        log.trace("Validating service call result: {}", ctx.getSignature());

        Class[] constraintGroups = validatedContext.getGroups();
        if (constraintGroups.length == 0) {
            constraintGroups = new Class[]{Default.class, ServiceResultChecks.class};
        }

        Set<ConstraintViolation<Object>> violations = validator.validateReturnValue(
                validatedContext.getTarget(),
                validatedContext.getMethod(),
                methodResult,
                constraintGroups);

        if (!violations.isEmpty()) {
            Class serviceInterface = ctx.getSignature().getDeclaringType();
            Set<ConstraintViolation<Object>> paramsViolations = violations.stream()
                    .map(violation -> new ServiceMethodConstraintViolation(serviceInterface, violation))
                    .collect(Collectors.toSet());

            throw new MethodResultValidationException("Service method result validation failed", paramsViolations);
        }
    }
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:29,代码来源:ServiceInterceptor.java

示例11: ValidateServiceMethodContext

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
public ValidateServiceMethodContext(ExecutableValidator validator, Object target, Method method, Object[] args,  Class[] groups) {
    this.validator = validator;
    this.target = target;
    this.method = method;
    this.args = args;
    this.groups = groups;
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:8,代码来源:ServiceInterceptor.java

示例12: validate

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
public <T> void validate(final Method method, final Object[] arguments, final T instance) {
    if (validator == null) {
        log.warn("Bean Validation provider could not be found, no validation will be performed");
        return;
    }

    ExecutableValidator methodValidator = validator.forExecutables();
    Set<ConstraintViolation<T>> violations = methodValidator.validateParameters(instance,
            method, arguments);

    if (!violations.isEmpty()) {
        throw new ConstraintViolationException(violations);
    }
}
 
开发者ID:wso2,项目名称:carbon-device-mgt,代码行数:15,代码来源:ValidationInterceptor.java

示例13: forExecutables

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Nullable
@Override
public ExecutableValidator forExecutables() {
    Validator validator = this.getValidator();

    return ((validator instanceof ExecutableValidator) ? ((ExecutableValidator) validator) : null);
}
 
开发者ID:esacinc,项目名称:sdcct,代码行数:8,代码来源:SdcctValidatorFactoryBean.java

示例14: executableValidator

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
private ExecutableValidator executableValidator() {
    if (null == executableValidator) {
        synchronized (this) {
            if (null == executableValidator) {
                validator = Act.getInstance(Validator.class);
                executableValidator = validator.forExecutables();
            }
        }
    }
    return executableValidator;
}
 
开发者ID:actframework,项目名称:actframework,代码行数:12,代码来源:ParamValueLoaderService.java

示例15: constructorViolationsWhenNotNullParameters

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Test
public void constructorViolationsWhenNotNullParameters() throws NoSuchMethodException, SecurityException {
	final MyParameter parameter = new MyParameter();
       parameter.setValue("foo");

       ExecutableValidator methodValidator = validator.forExecutables();
	Constructor<MyBean2> constructor = MyBean2.class
			.getConstructor(parameter.getClass());

	Set<ConstraintViolation<MyBean2>> constraints = methodValidator
			.validateConstructorParameters(constructor, new Object[] {parameter});

	assertThat(constraints.isEmpty(), equalTo(true));
}
 
开发者ID:ftomassetti,项目名称:JavaIncrementalParser,代码行数:15,代码来源:ConstructorParametersConstraintsTest.java


注:本文中的javax.validation.executable.ExecutableValidator类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。