• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java ExecutableValidator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: validate

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
private void validate(Object target, Method method, Object[] args) {
  ExecutableValidator executableValidator = VALIDATOR.forExecutables();
  Set<ConstraintViolation<Object>> violations = executableValidator.validateParameters(target, method, args);
  if (violations.isEmpty()) {
    return;
  }

  throw new ParameterValidationException(violations);
}
 
开发者ID:orctom,项目名称:laputa,代码行数:10,代码来源:DefaultRequestProcessor.java


示例17: testConstructorParameters

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Test
public void testConstructorParameters() throws NoSuchMethodException {
    ExecutableValidator executableValidator = validator.forExecutables();
    Constructor<RentalStation> constructor = RentalStation.class.getConstructor(String.class, String.class);
    Set<ConstraintViolation<RentalStation>> violations = executableValidator.validateConstructorParameters
            (constructor, new Object[] {"Hertz", ""});
    assertThat(violations.size()).isEqualTo(0);
    violations = executableValidator.validateConstructorParameters
            (constructor, new Object[] {null, ""});
    assertThat(violations.size()).isEqualTo(1);
    violations = executableValidator.validateConstructorParameters
            (constructor, new Object[] {null, null});
    assertThat(violations.size()).isEqualTo(2);
}
 
开发者ID:wisdom-framework,项目名称:wisdom,代码行数:15,代码来源:ValidationTest.java


示例18: validateParameters

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Override
public void validateParameters(final Object instanceOrClass, final Method method, final Object[] parameters) {
    if (instanceOrClass == null) { // bval 11 doesnt support it
        return;
    }
    final ExecutableValidator executableValidator = validatorFactory.getValidator().forExecutables();
    final Set<ConstraintViolation<Object>> violations = executableValidator.validateParameters(instanceOrClass, method, parameters);
    if (!violations.isEmpty()) {
        throw new ConstraintViolationException(violations);
    }
}
 
开发者ID:tomitribe,项目名称:crest,代码行数:12,代码来源:BeanValidation11.java


示例19: forExecutables

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Override
public ExecutableValidator forExecutables() {
    return this;
}
 
开发者ID:minijax,项目名称:minijax,代码行数:5,代码来源:MinijaxValidator.java


示例20: forExecutables

import javax.validation.executable.ExecutableValidator; //导入依赖的package包/类
@Override
public ExecutableValidator forExecutables() {
	// TODO Auto-generated method stub
	return null;
}
 
开发者ID:panguixiang,项目名称:my-spring-cache-redis,代码行数:6,代码来源:SpringValidatorAdapter.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Index类代码示例发布时间:2022-05-21
下一篇:
Java Collator类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap