/** * Sets the gregorian value and checks whether the value is valid if date format is not lenient. * * @param cal the gregorian calendar object * @param field the field index * @param value the value * @throws ParseException if value out of bounds (if not lenient) */ protected void setGregorianValue(GregorianCalendar cal, int field, int value) throws ParseException { if (!lenient) { // check the bounds int min = cal.getActualMinimum(field); int max = cal.getActualMaximum(field); if (value < min || value > max) { if (field == MONTH) { value++; min++; max++; } throw new ParseException( MessageFormat.format(SwingSwingBundle.getString("INVALID {0}: {1} MUST BE BETWEEN {2} AND {3}"), FormatHelper.calendarFieldToString(field, false), value, min, max), 0); } } cal.set(field, value); }
/** * Sets the gregorian value and checks whether the value is valid if date format is not lenient. * * @param cal the gregorian calendar object * @param field the field index * @param value the value * @throws ParseException if value out of bounds (if not lenient) */ protected void setGregorianValue(GregorianCalendar cal, int field, int value) throws ParseException { // check the bounds int min = cal.getActualMinimum(field); int max = cal.getActualMaximum(field); if (value < min || value > max) { if (field == MONTH) { value++; min++; max++; } throw new ParseException( MessageFormat.format(FxFxBundle.getString("INVALID {0}: {1} MUST BE BETWEEN {2} AND {3}"), FormatHelper.calendarFieldToString(field, false), value, min, max), 0); } cal.set(field, value); }
month = getRand().nextInt(minCal.get(GregorianCalendar.MONTH), gc.getActualMaximum(GregorianCalendar.MONTH)); } else if (year == maxCal.get(GregorianCalendar.YEAR)) { month = getRand().nextInt(gc.getActualMinimum(GregorianCalendar.MONTH), maxCal.get(GregorianCalendar.MONTH)); } else { month = getRand().nextInt(gc.getActualMinimum(GregorianCalendar.MONTH), gc.getActualMaximum(GregorianCalendar.MONTH)); day = getRand().nextInt(minCal.get(GregorianCalendar.DAY_OF_MONTH), gc.getActualMaximum(GregorianCalendar.DAY_OF_MONTH)); } else if (year == maxCal.get(GregorianCalendar.YEAR) && month == maxCal.get(GregorianCalendar.MONTH)) { day = getRand().nextInt(gc.getActualMinimum(GregorianCalendar.DAY_OF_MONTH), maxCal.get(GregorianCalendar.DAY_OF_MONTH)); } else { day = getRand().nextInt(1, gc.getActualMaximum(GregorianCalendar.DAY_OF_MONTH)); int minHour = gc.getActualMinimum(GregorianCalendar.HOUR_OF_DAY); int minMin = gc.getActualMinimum(GregorianCalendar.MINUTE); int minSec = gc.getActualMinimum(GregorianCalendar.SECOND); int maxHour = gc.getActualMaximum(GregorianCalendar.HOUR_OF_DAY); int maxMin = gc.getActualMaximum(GregorianCalendar.MINUTE);
int firstDayOfBeginMonth = beginDate.getActualMinimum(Calendar.DAY_OF_MONTH); int firstDayOfYear = beginDate.getActualMinimum(Calendar.DAY_OF_MONTH); int firstDayOfBeginMonth = beginDate.getActualMinimum(Calendar.DAY_OF_MONTH); beginDate.set(Calendar.DAY_OF_MONTH, firstDayOfBeginMonth); int firstDayOfYear = beginDate.getActualMinimum(Calendar.DAY_OF_MONTH); int firstDayOfBeginMonth = beginDate.getActualMinimum(Calendar.DAY_OF_MONTH); int firstDayOfYear = beginDate.getActualMinimum(Calendar.DAY_OF_MONTH); beginDate.set(Calendar.DAY_OF_MONTH, firstDayOfYear);