Home | History | Annotate | Download | only in util
      1 /* GENERATED SOURCE. DO NOT MODIFY. */
      2 //  2016 and later: Unicode, Inc. and others.
      3 // License & terms of use: http://www.unicode.org/copyright.html#License
      4 /*
      5  *******************************************************************************
      6  * Copyright (C) 1996-2010, International Business Machines Corporation and    *
      7  * others. All Rights Reserved.                                                *
      8  *******************************************************************************
      9  */
     10 
     11 package android.icu.util;
     12 
     13 import java.util.Date;
     14 
     15 /**
     16  * <b>Note:</b> The Holiday framework is a technology preview.
     17  * Despite its age, is still draft API, and clients should treat it as such.
     18  *
     19  * DateRule is an interface for calculating the date of an event.
     20  * It supports both recurring events and those which occur only once.
     21  * DateRule is useful for storing information about holidays,
     22  * Daylight Savings Time rules, and other events such as meetings.
     23  *
     24  * @see SimpleDateRule
     25  * @hide Only a subset of ICU is exposed in Android
     26  * @hide draft / provisional / internal are hidden on Android
     27  */
     28 public interface DateRule
     29 {
     30     /**
     31      * Return the first occurrance of the event represented by this rule
     32      * that is on or after the given start date.
     33      *
     34      * @param start Only occurrances on or after this date are returned.
     35      *
     36      * @return      The date on which this event occurs, or null if it
     37      *              does not occur on or after the start date.
     38      *
     39      * @see #firstBetween
     40      * @hide draft / provisional / internal are hidden on Android
     41      */
     42     abstract public Date    firstAfter(Date start);
     43 
     44     /**
     45      * Return the first occurrance of the event represented by this rule
     46      * that is on or after the given start date and before the given
     47      * end date.
     48      *
     49      * @param start Only occurrances on or after this date are returned.
     50      * @param end   Only occurrances before this date are returned.
     51      *
     52      * @return      The date on which this event occurs, or null if it
     53      *              does not occur between the start and end dates.
     54      *
     55      * @see #firstAfter
     56      * @hide draft / provisional / internal are hidden on Android
     57      */
     58     abstract public Date    firstBetween(Date start, Date end);
     59 
     60     /**
     61      * Checks whether this event occurs on the given date.  This does
     62      * <em>not</em> take time of day into account; instead it checks
     63      * whether this event and the given date are on the same day.
     64      * This is useful for applications such as determining whether a given
     65      * day is a holiday.
     66      *
     67      * @param date  The date to check.
     68      * @return      true if this event occurs on the given date.
     69      * @hide draft / provisional / internal are hidden on Android
     70      */
     71     abstract public boolean isOn(Date date);
     72 
     73     /**
     74      * Check whether this event occurs at least once between the two
     75      * dates given.
     76      * @hide draft / provisional / internal are hidden on Android
     77      */
     78     abstract public boolean isBetween(Date start, Date end);
     79 }
     80