in src/main/java/org/apache/commons/validator/routines/AbstractCalendarValidator.java [116:158]
protected int compare(final Calendar value, final Calendar compare, final int field) {
int result;
// Compare Year
result = calculateCompareResult(value, compare, Calendar.YEAR);
if (result != 0 || field == Calendar.YEAR) {
return result;
}
// Compare Week of Year
if (field == Calendar.WEEK_OF_YEAR) {
return calculateCompareResult(value, compare, Calendar.WEEK_OF_YEAR);
}
// Compare Day of the Year
if (field == Calendar.DAY_OF_YEAR) {
return calculateCompareResult(value, compare, Calendar.DAY_OF_YEAR);
}
// Compare Month
result = calculateCompareResult(value, compare, Calendar.MONTH);
if (result != 0 || field == Calendar.MONTH) {
return result;
}
// Compare Week of Month
if (field == Calendar.WEEK_OF_MONTH) {
return calculateCompareResult(value, compare, Calendar.WEEK_OF_MONTH);
}
// Compare Date
result = calculateCompareResult(value, compare, Calendar.DATE);
if (result != 0 || field == Calendar.DATE ||
field == Calendar.DAY_OF_WEEK ||
field == Calendar.DAY_OF_WEEK_IN_MONTH) {
return result;
}
// Compare Time fields
return compareTime(value, compare, field);
}