Class DateIntervalConstraint

  • All Implemented Interfaces:
    Serializable, Constraint

    public class DateIntervalConstraint
    extends AbstractConstraint
    This constraint ensures a date is in an interval.

    This constraint can validate any Date or Calendar. This constraint also support Number types whose long value is recognised as number of milliseconds since January 1, 1970, 00:00:00 GMT. The constraint finally supports String having YYYY-MM-DD format.

    Since:
    7.1
    See Also:
    Serialized Form
    • Constructor Detail

      • DateIntervalConstraint

        public DateIntervalConstraint​(Object minDate,
                                      boolean includingMin,
                                      Object maxDate,
                                      boolean includingMax)
        Use null value to disable a bound.

        Bounds could be any Date or Calendar. Bounds also support Number types whose long value is recognised as number of milliseconds since January 1, 1970, 00:00:00 GMT. Bounds finally supports String having YYYY-MM-DD format.

        Invalid bound (wrong format) would be ignored with log warning.

        Parameters:
        minDate - The lower bound of the interval
        includingMin - true if the lower bound is included in the interval
        maxDate - The upper bound of the interval
        includingMax - true if the upper bound is included in the interval
    • Method Detail

      • validate

        public boolean validate​(Object object)
        Description copied from interface: Constraint
        Validates the given object against this constraint.

        If some object is null. Constraint should return true while validating unless the constraint deals with nullable state.

        Parameters:
        object - the object to validate
        Returns:
        true if the object was successfully validated, false otherwise
      • getDescription

        public Constraint.Description getDescription()
        Here, value is :
        name = "DateIntervalConstraint".
        parameters =
        • "Minimum" : 2014-11-05 // only if bounded
        • "MinimumInclusive" : true // only if bounded
        • "Maximum" : 2014-11-25 // only if bounded
        • "MaximumInclusive" : false // only if bounded
        Returns:
        The constraint description.
      • getMinTime

        public Long getMinTime()
      • getMaxTime

        public Long getMaxTime()
      • isIncludingMin

        public boolean isIncludingMin()
      • isIncludingMax

        public boolean isIncludingMax()
      • getErrorMessage

        public String getErrorMessage​(Object invalidValue,
                                      Locale locale)
        Description copied from interface: Constraint
        Provides an error message to display when some invalid value does not match existing entity.
        Specified by:
        getErrorMessage in interface Constraint
        Overrides:
        getErrorMessage in class AbstractConstraint
        Parameters:
        invalidValue - The invalid value that don't match any entity.
        locale - The language in which the message should be generated.
        Returns:
        A message in the specified language or
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object