Class CalendricalMatchers.DayOfWeekInMonth

java.lang.Object
javax.time.calendar.CalendricalMatchers.DayOfWeekInMonth
All Implemented Interfaces:
Serializable, CalendricalMatcher
Enclosing class:
CalendricalMatchers

private static final class CalendricalMatchers.DayOfWeekInMonth extends Object implements CalendricalMatcher, Serializable
Class implementing day-of-week in month matcher.
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      A serialization identifier for this class.
      See Also:
    • ordinal

      private final int ordinal
      The ordinal, from 1 to 5.
    • dayOfWeek

      private final DayOfWeek dayOfWeek
      The day-of-week.
  • Constructor Details

    • DayOfWeekInMonth

      private DayOfWeekInMonth(int ordinal, DayOfWeek dayOfWeek)
      Constructor.
      Parameters:
      ordinal - ordinal, from 1 to 5
      dayOfWeek - the day-of-week, not null
  • Method Details

    • matchesCalendrical

      public boolean matchesCalendrical(Calendrical calendrical)
      Checks if the input calendrical matches the rules of the implementation.

      This is a strategy pattern that allows a range of matches to be made against a calendrical. A typical implementation will query the calendrical to extract one of more values, and compare or check them in some way.

      For example, an implementation to check if the calendrical represents a Saturday or Sunday:

        public boolean matchesCalendrical(Calendrical calendrical) {
          DayOfWeek dow = calendrical.get(ISOChronology.dayOfWeekRule());
          return dow != null invalid input: '&'invalid input: '&' (dow == DayOfWeek.SATURDAY || dow == DayOfWeek.SUNDAY);
        }
       
      Specified by:
      matchesCalendrical in interface CalendricalMatcher
      Parameters:
      calendrical - the calendrical to match against, not null
      Returns:
      true if the date matches, false otherwise
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object