MCPcopy Create free account
hub / github.com/MenoData/Time4J / Weekmodel

Method Weekmodel

base/src/main/java/net/time4j/Weekmodel.java:175–235  ·  view source on GitHub ↗
(
        Weekday firstDayOfWeek,
        int minimalDaysInFirstWeek,
        final Weekday startOfWeekend,
        final Weekday endOfWeekend
    )

Source from the content-addressed store, hash-verified

173 //~ Konstruktoren -----------------------------------------------------
174
175 private Weekmodel(
176 Weekday firstDayOfWeek,
177 int minimalDaysInFirstWeek,
178 final Weekday startOfWeekend,
179 final Weekday endOfWeekend
180 ) {
181 super();
182
183 if (firstDayOfWeek == null) {
184 throw new NullPointerException("Missing first day of week.");
185 } else if (
186 (minimalDaysInFirstWeek < 1)
187 || (minimalDaysInFirstWeek > 7)
188 ) {
189 throw new IllegalArgumentException(
190 "Minimal days in first week out of range: "
191 + minimalDaysInFirstWeek);
192 } else if (startOfWeekend == null) {
193 throw new NullPointerException("Missing start of weekend.");
194 } else if (endOfWeekend == null) {
195 throw new NullPointerException("Missing end of weekend.");
196 }
197
198 this.firstDayOfWeek = firstDayOfWeek;
199 this.minimalDaysInFirstWeek = minimalDaysInFirstWeek;
200 this.startOfWeekend = startOfWeekend;
201 this.endOfWeekend = endOfWeekend;
202
203 this.woyElement =
204 new CalendarWeekElement(
205 "WEEK_OF_YEAR", CALENDAR_WEEK_OF_YEAR);
206 this.womElement =
207 new CalendarWeekElement(
208 "WEEK_OF_MONTH", CALENDAR_WEEK_OF_MONTH);
209 this.boundWoyElement =
210 new CalendarWeekElement(
211 "BOUNDED_WEEK_OF_YEAR", BOUNDED_WEEK_OF_YEAR);
212 this.boundWomElement =
213 new CalendarWeekElement(
214 "BOUNDED_WEEK_OF_MONTH", BOUNDED_WEEK_OF_MONTH);
215 this.dayOfWeekElement = new DayOfWeekElement();
216
217 this.weekendCondition =
218 context -> {
219 int y = context.getYear();
220 int m = context.getMonth();
221 int dom = context.getDayOfMonth();
222 Weekday wd =
223 Weekday.valueOf(GregorianMath.getDayOfWeek(y, m, dom));
224 return ((wd == startOfWeekend) || (wd == endOfWeekend));
225 };
226
227 Set<ChronoElement<?>> set = new HashSet<>();
228 set.add(this.woyElement);
229 set.add(this.womElement);
230 set.add(this.dayOfWeekElement);
231 set.add(this.boundWoyElement);
232 set.add(this.boundWomElement);

Callers

nothing calls this directly

Calls 6

valueOfMethod · 0.95
getDayOfWeekMethod · 0.95
getYearMethod · 0.65
getMonthMethod · 0.65
getDayOfMonthMethod · 0.65
addMethod · 0.45

Tested by

no test coverage detected