private static ListValueConstraint fetchListValueConstraint( final PropertyDescriptor descriptor) throws IllegalArgumentException { for (final PropertyConstraint<?> constraint : descriptor.getConstraints()) { if (ListValueConstraint.class == constraint.getClass()) { return (ListValueConstraint) constraint; } } throw new IllegalArgumentException( "Property list value descriptor lacks list constraint."); }
private void addRestrictions(final PropertyDescriptor descriptor) { final List<? extends PropertyConstraint<?>> constraints = descriptor.getConstraints(); if (!constraints.isEmpty()) { final Element valueContraintsElement = new Element("valueConstraints", ns); for (final PropertyConstraint<?> constraint : constraints) { final Element element = new Element("constraint", ns); final String type = constraint.getClass().getName(); addElement(element, "type", type); final String description = htmlUtils.cleanHtmlAndJavadoc(constraint.getDescription()); addElement(element, "description", description); valueContraintsElement.addContent(element); } rootElement.addContent(valueContraintsElement); } }
@SuppressWarnings({ "rawtypes", "unchecked" }) private void groupValidation(final PropertyDescriptor descriptor, final Object value, final Class<?>[] groups) { final List<PropertyConstraint<?>> constraints = new ArrayList<PropertyConstraint<?>>(); for (final Class<?> group : groups) { for (final PropertyConstraint constraint : descriptor.getConstraints()) { try { constraint.validate(descriptor, value, group); } catch (final PropertyValidationException e) { final List<? extends PropertyConstraint<?>> eConstraints = e.getMessageBean().getConstraints(); constraints.addAll(eConstraints); } } // After each group check if we have to got to the next ... if (!constraints.isEmpty()) { throw PropertyValidationException.invalid(descriptor, constraints, value); } } }
@SuppressWarnings({ "rawtypes", "unchecked" }) private void defaultValidation(final PropertyDescriptor descriptor, final Object value) { final List<PropertyConstraint<?>> constraints = new ArrayList<PropertyConstraint<?>>(); for (final PropertyConstraint constraint : descriptor.getConstraints()) { try { if (!(adminMode && constraint.isMandatoryConstraint())) { constraint.validate(descriptor, value); } } catch (final PropertyValidationException e) { final List<? extends PropertyConstraint<?>> eConstraints = e.getMessageBean().getConstraints(); constraints.addAll(eConstraints); } } if (!constraints.isEmpty()) { throw PropertyValidationException.invalid(descriptor, constraints, value); } }
descriptor.getConstraints(), plainValue); throw new PropertyValidationException(message);
descriptor.getConstraints(), plainValue); throw new PropertyValidationException(message);