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

>  80      * @param dayOfWeek  день недели по отношению к эталонной дате.

>  81      * @param relative  признак выбора дня недели (preceding, nearest

>  82      *                  или following).

>  83      */

>  84     public RelativeDayOfWeekRule(final AnnualDateRule subrule,

>  85             final int dayOfWeek, final int relative) {

>  86         this.subrule = subrule;

>  87         this.dayOfWeek = dayOfWeek;

>  88         this.relative = relative;

>  89     }

>  90

>  91     /**


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

>  92      * Возвращает субправило (также называемое эталонным правилом).

>  93      *

>  94      * @return Правило ежегодной даты, определяющее эталонную дату

>  95      *         для текущего правила.

>  96      */

>  97     public AnnualDateRule getSubrule() {

>  98         return this.subrule;

>  99     }

>100

>101     /**

>102      * Назначает субправило.

>103      *

>104      * @param subrule  Правило ежегодной даты, определяющее эталонную дату

>105      *                 для текущего правила.

>106      */

>107     public void setSubrule(final AnnualDateRule subrule) {

>108         this.subrule = subrule;

>109     }

>110

>111     /**

>112      * Возвращает день недели для текущего правила.

>113      *

>114      * @return день недели для текущего правила.

>115      */

>116     public int getDayOfWeek() {

>117         return this.dayOfWeek;

>118     }

>119

>120     /**

>121      * Назначает день недели для текущего правила.

>122      *

>123      * @param dayOfWeek  день недели (SerialDate.MONDAY,

>124      *                   SerialDate.TUESDAY и т.д.).

>125      */

>126     public void setDayOfWeek(final int dayOfWeek) {

>127         this.dayOfWeek = dayOfWeek;

>128     }

>129

>130     /**

>131      * Возвращает атрибут ‘relative’, который определяет,

>132      *  *какой* день недели нас интересует (SerialDate.PRECEDING,

>133      * SerialDate.NEAREST или SerialDate.FOLLOWING).

>134      *

>135      * @return атрибут 'relative'.

>136      */

>137     public int getRelative() {

>138         return this.relative;

>139     }

>140

>141     /**

>142      * Задает атрибут 'relative' (SerialDate.PRECEDING, SerialDate.NEAREST,

>143      * SerialDate.FOLLOWING).

>144      *

>145      * @param relative  определяет, *какой* день недели выбирается

>146      *                  текущим правилом.

>147      */

>148     public void setRelative(final int relative) {

>149         this.relative = relative;

>150     }

>151

>152     /**

>153      * Создает копию текущего правила.

>154      *

>155      * @return копия текущего правила.

>156      *

>157      * @throws CloneNotSupportedException this should never happen.