Чистый код. Создание, анализ и рефакторинг (Мартин) - страница 276

>981

>982     /**

>983      * Возвращает true если текущий {@link SerialDate} принадлежит

>984      * заданному диапазону (включение границ указывается при вызове). Порядок

>985      * дат d1 и d2 не важен.

>986      *

>987      * @param d1  граничная дата диапазона.

>988      * @param d2  другая граничная дата диапазона.


Листинг Б.1 (продолжение)

>989      * @param include  код, управляющий включением начальной и конечной дат

>990      *                 в диапазон.

>991      *

>992      * @return Логический признак.

>993      */

>994     public abstract boolean isInRange(SerialDate d1, SerialDate d2,

>995                                       int include);

>996

>997     /**

>998      * Возвращает последнюю дату, приходящуюся на заданный день недели,

>999      * ПРЕДШЕСТВУЮЩУЮ текущей дате.

>1000      *

>1001      * @param targetDOW  код дня недели.

>1002      *

>1003      * @return последняя дата, приходящаяся на заданный день недели,

>1004      *         ПРЕДШЕСТВУЮЩАЯ текущей дате.

>1005      */

>1006     public SerialDate getPreviousDayOfWeek(final int targetDOW) {

>1007         return getPreviousDayOfWeek(targetDOW, this);

>1008     }

>1009

>1010     /**

>1011      * Возвращает самую раннюю дату, приходящуюся на заданный день недели,

>1012      * ПОСЛЕ текущей даты.

>1013      *

>1014      * @param targetDOW  код дня недели.

>1015      *

>1016      * @return самая ранняя дата, приходящаяся на заданный день недели

>1017      *         ПОСЛЕ текущей даты.

>1018      */

>1019     public SerialDate getFollowingDayOfWeek(final int targetDOW) {

>1020         return getFollowingDayOfWeek(targetDOW, this);

>1021     }

>1022

>1023     /**

>1024      * Возвращает ближайшую дату, приходящуюся на заданный день недели,

>1025      *

>1026      * @param targetDOW  код дня недели.

>1027      *

>1028      * @return ближайшая дата, приходящаяся на заданный день недели,

>1029      */

>1030     public SerialDate getNearestDayOfWeek(final int targetDOW) {

>1031         return getNearestDayOfWeek(targetDOW, this);

>1032     }

>1033

>1034 }


Листинг Б.2. SerialDateTest.java

>   1 /* ========================================================================

>   2  * JCommon : библиотека классов общего назначения для платформы Java(tm)

>   3  * ========================================================================

>   4  *

>   5  * (C) Copyright 2000–2005, by Object Refinery Limited and Contributors.

>   6  *

>   7  * Информация о проекте:  http://www.jfree.org/jcommon/index.html

>   8  *

>   9  * Библиотека распространяется бесплатно; вы можете свободно распространять

>  10  * и/или изменять ее на условиях лицензии Lesser General Public License