Search in sources :

Example 1 with MaxConstraint

use of org.grails.validation.MaxConstraint in project grails-core by grails.

the class ConstrainedProperty method setMax.

/**
     * @param max The max to set.
     */
@SuppressWarnings("rawtypes")
public void setMax(Comparable max) {
    if (max == null) {
        appliedConstraints.remove(MAX_CONSTRAINT);
        return;
    }
    if (!propertyType.equals(max.getClass())) {
        throw new MissingPropertyException(MAX_CONSTRAINT, propertyType);
    }
    Range r = getRange();
    if (r != null) {
        LOG.warn("Range constraint already set ignoring constraint [" + MAX_CONSTRAINT + "] for value [" + max + "]");
        return;
    }
    Constraint c = appliedConstraints.get(MAX_CONSTRAINT);
    if (c == null) {
        c = new MaxConstraint();
        c.setOwningClass(owningClass);
        c.setPropertyName(propertyName);
        appliedConstraints.put(MAX_CONSTRAINT, c);
    }
    c.setParameter(max);
}
Also used : MaxConstraint(org.grails.validation.MaxConstraint) MaxSizeConstraint(org.grails.validation.MaxSizeConstraint) MinConstraint(org.grails.validation.MinConstraint) SizeConstraint(org.grails.validation.SizeConstraint) MinSizeConstraint(org.grails.validation.MinSizeConstraint) BlankConstraint(org.grails.validation.BlankConstraint) RangeConstraint(org.grails.validation.RangeConstraint) ValidatorConstraint(org.grails.validation.ValidatorConstraint) ScaleConstraint(org.grails.validation.ScaleConstraint) NullableConstraint(org.grails.validation.NullableConstraint) MaxConstraint(org.grails.validation.MaxConstraint) CreditCardConstraint(org.grails.validation.CreditCardConstraint) UrlConstraint(org.grails.validation.UrlConstraint) InListConstraint(org.grails.validation.InListConstraint) MatchesConstraint(org.grails.validation.MatchesConstraint) NotEqualConstraint(org.grails.validation.NotEqualConstraint) EmailConstraint(org.grails.validation.EmailConstraint) MissingPropertyException(groovy.lang.MissingPropertyException) Range(groovy.lang.Range)

Example 2 with MaxConstraint

use of org.grails.validation.MaxConstraint in project grails-core by grails.

the class ConstrainedProperty method getMax.

/**
     * @return Returns the max.
     */
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
public Comparable getMax() {
    Comparable maxValue = null;
    MaxConstraint maxConstraint = (MaxConstraint) appliedConstraints.get(MAX_CONSTRAINT);
    RangeConstraint rangeConstraint = (RangeConstraint) appliedConstraints.get(RANGE_CONSTRAINT);
    if (maxConstraint != null || rangeConstraint != null) {
        Comparable maxConstraintValue = maxConstraint == null ? null : maxConstraint.getMaxValue();
        Comparable rangeConstraintHighValue = rangeConstraint == null ? null : rangeConstraint.getRange().getTo();
        if (maxConstraintValue != null && rangeConstraintHighValue != null) {
            maxValue = (maxConstraintValue.compareTo(rangeConstraintHighValue) < 0) ? maxConstraintValue : rangeConstraintHighValue;
        } else if (maxConstraintValue == null && rangeConstraintHighValue != null) {
            maxValue = rangeConstraintHighValue;
        } else if (maxConstraintValue != null && rangeConstraintHighValue == null) {
            maxValue = maxConstraintValue;
        }
    }
    return maxValue;
}
Also used : RangeConstraint(org.grails.validation.RangeConstraint) MaxConstraint(org.grails.validation.MaxConstraint)

Aggregations

MaxConstraint (org.grails.validation.MaxConstraint)2 RangeConstraint (org.grails.validation.RangeConstraint)2 MissingPropertyException (groovy.lang.MissingPropertyException)1 Range (groovy.lang.Range)1 BlankConstraint (org.grails.validation.BlankConstraint)1 CreditCardConstraint (org.grails.validation.CreditCardConstraint)1 EmailConstraint (org.grails.validation.EmailConstraint)1 InListConstraint (org.grails.validation.InListConstraint)1 MatchesConstraint (org.grails.validation.MatchesConstraint)1 MaxSizeConstraint (org.grails.validation.MaxSizeConstraint)1 MinConstraint (org.grails.validation.MinConstraint)1 MinSizeConstraint (org.grails.validation.MinSizeConstraint)1 NotEqualConstraint (org.grails.validation.NotEqualConstraint)1 NullableConstraint (org.grails.validation.NullableConstraint)1 ScaleConstraint (org.grails.validation.ScaleConstraint)1 SizeConstraint (org.grails.validation.SizeConstraint)1 UrlConstraint (org.grails.validation.UrlConstraint)1 ValidatorConstraint (org.grails.validation.ValidatorConstraint)1