List of usage examples for java.lang.annotation ElementType PARAMETER
ElementType PARAMETER
To view the source code for java.lang.annotation ElementType PARAMETER.
Click Source Link
From source file:org.apache.bval.jsr.JsrMetaBeanFactory.java
/** * Add cascade validation and constraints from xml mappings * /*from w w w.j a v a 2 s . com*/ * @param beanClass * @param metabean * @throws IllegalAccessException * @throws InvocationTargetException */ private void addXmlConstraints(Class<?> beanClass, MetaBean metabean) throws IllegalAccessException, InvocationTargetException { for (final MetaConstraint<?, ? extends Annotation> metaConstraint : factory.getMetaConstraints(beanClass)) { Meta meta; AccessStrategy access = metaConstraint.getAccessStrategy(); boolean create = false; if (access == null) { // class level meta = null; } else if (access.getElementType() == ElementType.METHOD && !metaConstraint.getMember().getName().startsWith("get")) { // TODO: better getter test final Method method = Method.class.cast(metaConstraint.getMember()); meta = metabean.getMethod(method); final MetaMethod metaMethod; if (meta == null) { meta = new MetaMethod(metabean, method); metaMethod = MetaMethod.class.cast(meta); metabean.addMethod(method, metaMethod); } else { metaMethod = MetaMethod.class.cast(meta); } final Integer index = metaConstraint.getIndex(); if (index != null && index >= 0) { MetaParameter param = metaMethod.getParameter(index); if (param == null) { param = new MetaParameter(metaMethod, index); metaMethod.addParameter(index, param); } param.addAnnotation(metaConstraint.getAnnotation()); } else { metaMethod.addAnnotation(metaConstraint.getAnnotation()); } continue; } else if (access.getElementType() == ElementType.CONSTRUCTOR) { final Constructor<?> constructor = Constructor.class.cast(metaConstraint.getMember()); meta = metabean.getConstructor(constructor); final MetaConstructor metaConstructor; if (meta == null) { meta = new MetaConstructor(metabean, constructor); metaConstructor = MetaConstructor.class.cast(meta); metabean.addConstructor(constructor, metaConstructor); } else { metaConstructor = MetaConstructor.class.cast(meta); } final Integer index = metaConstraint.getIndex(); if (index != null && index >= 0) { MetaParameter param = metaConstructor.getParameter(index); if (param == null) { param = new MetaParameter(metaConstructor, index); metaConstructor.addParameter(index, param); } param.addAnnotation(metaConstraint.getAnnotation()); } else { metaConstructor.addAnnotation(metaConstraint.getAnnotation()); } continue; } else { // property level meta = metabean.getProperty(access.getPropertyName()); create = meta == null; if (create) { meta = addMetaProperty(metabean, access); } } if (!annotationProcessor.processAnnotation(metaConstraint.getAnnotation(), meta, beanClass, metaConstraint.getAccessStrategy(), new AppendValidationToMeta(meta == null ? metabean : meta), false) && create) { metabean.putProperty(access.getPropertyName(), null); } } for (final AccessStrategy access : factory.getValidAccesses(beanClass)) { if (access.getElementType() == ElementType.PARAMETER) { continue; } MetaProperty metaProperty = metabean.getProperty(access.getPropertyName()); boolean create = metaProperty == null; if (create) { metaProperty = addMetaProperty(metabean, access); } if (!annotationProcessor.addAccessStrategy(metaProperty, access) && create) { metabean.putProperty(access.getPropertyName(), null); } } }
From source file:org.jspare.server.controller.Controller.java
public void validate(Object... objects) throws BeanValidationException { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); Set<ConstraintViolation<Object>> resolutions = new HashSet<>(); for (Object bean : objects) { if (bean == null) { resolutions.add(ConstraintViolationImpl.forBeanValidation("invalid required parameters", null, "invalid required parameters", null, null, bean, bean, PathImpl.createPathFromString("parameter"), null, ElementType.PARAMETER)); continue; }/* w w w. j a v a2s.c om*/ resolutions.addAll(validator.validate(bean)); } if (!resolutions.isEmpty()) { throw new BeanValidationException(resolutions); } }