/** * @param date, zu prüfendes Datum. * @return Ist <code>true</code>, wenn diese Planung monatlich gilt und das Attribut <code>tagnum * </code> dem aktuellen Tag im Monat entspricht <b>oder</b> das Attribut mit dem aktuellen * Wochentagsnamen gleich dem Wochentag im Monat entpricht (der erste Mitwwoch im Monat hat 1, * der zweite 2 usw...). */ public boolean isPassenderTagImMonat(Date date) { boolean passend = false; if (isMonatlich()) { // wenn nicht monatlich, dann passt gar nix GregorianCalendar gcDate = SYSCalendar.toGC(date); passend = tagNum == gcDate.get(GregorianCalendar.DAY_OF_MONTH); if (!passend) { switch (gcDate.get(GregorianCalendar.DAY_OF_WEEK)) { case GregorianCalendar.MONDAY: { passend = mon == gcDate.get(GregorianCalendar.DAY_OF_WEEK_IN_MONTH); break; } case GregorianCalendar.TUESDAY: { passend = die == gcDate.get(GregorianCalendar.DAY_OF_WEEK_IN_MONTH); break; } case GregorianCalendar.WEDNESDAY: { passend = mit == gcDate.get(GregorianCalendar.DAY_OF_WEEK_IN_MONTH); break; } case GregorianCalendar.THURSDAY: { passend = don == gcDate.get(GregorianCalendar.DAY_OF_WEEK_IN_MONTH); break; } case GregorianCalendar.FRIDAY: { passend = fre == gcDate.get(GregorianCalendar.DAY_OF_WEEK_IN_MONTH); break; } case GregorianCalendar.SATURDAY: { passend = sam == gcDate.get(GregorianCalendar.DAY_OF_WEEK_IN_MONTH); break; } case GregorianCalendar.SUNDAY: { passend = son == gcDate.get(GregorianCalendar.DAY_OF_WEEK_IN_MONTH); break; } default: { passend = false; break; } } } } return passend; }
/** * @param date, zu prüfendes Datum. * @return Ist <code>true</code>, wenn diese Planung wöchentlich gilt und das Attribut mit dem * aktuellen Wochentagsnamen größer null ist. */ public boolean isPassenderWochentag(Date date) { boolean passend = false; if (isWoechentlich()) { // wenn nicht wöchentlich, dann passt gar nix GregorianCalendar gcDate = SYSCalendar.toGC(date); switch (gcDate.get(GregorianCalendar.DAY_OF_WEEK)) { case GregorianCalendar.MONDAY: { passend = mon > 0; break; } case GregorianCalendar.TUESDAY: { passend = die > 0; break; } case GregorianCalendar.WEDNESDAY: { passend = mit > 0; break; } case GregorianCalendar.THURSDAY: { passend = don > 0; break; } case GregorianCalendar.FRIDAY: { passend = fre > 0; break; } case GregorianCalendar.SATURDAY: { passend = sam > 0; break; } case GregorianCalendar.SUNDAY: { passend = son > 0; break; } default: { passend = false; break; } } } return passend; }