BrightSide Workbench Full Report + Source Code
task/constraints/WeekDayConstraint.java
Go to the documentation of this file.
1
/*
2
* TurrĂ³ i Cutiller Foundation. License notice.
3
* Copyright (C) 2022 Lluis TurrĂ³ Cutiller <http://www.turro.org/>
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU Affero General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Affero General Public License for more details.
14
*
15
* You should have received a copy of the GNU Affero General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
package
org.turro.scheduler.task.constraints;
20
21
import
java.util.Calendar;
22
import
java.util.Date;
23
import
java.util.HashSet;
24
29
public
class
WeekDayConstraint
extends
HashSet<WeekDay> {
30
31
private
WeekDay
lastCheck;
32
private
boolean
refresh;
33
34
public
boolean
isValid
(Date date) {
35
refresh =
false
;
36
WeekDay
wd =
getWeekDay
(date);
37
if
(wd !=
null
&& contains(wd)) {
38
refresh = !wd.equals(lastCheck);
39
lastCheck = wd;
40
return
true
;
41
}
42
lastCheck = wd;
43
return
isEmpty();
44
}
45
46
public
boolean
needsRefresh
() {
47
return
refresh;
48
}
49
50
public
WeekDay
getWeekDay
(Date date) {
51
Calendar c = Calendar.getInstance();
52
c.setTime(date);
53
return
switch
(c.get(Calendar.DAY_OF_WEEK)) {
54
case
Calendar.
MONDAY
->
WeekDay
.
MONDAY
;
55
case
Calendar.TUESDAY ->
WeekDay
.
TUESDAY
;
56
case
Calendar.WEDNESDAY ->
WeekDay
.
WEDNESDAY
;
57
case
Calendar.THURSDAY ->
WeekDay
.
THURSDAY
;
58
case
Calendar.FRIDAY ->
WeekDay
.
FRIDAY
;
59
case
Calendar.SATURDAY ->
WeekDay
.
SATURDAY
;
60
case
Calendar.SUNDAY ->
WeekDay
.
SUNDAY
;
61
default
->
null
;
62
};
63
}
64
65
}
66
org.turro.scheduler.task.constraints.WeekDayConstraint
Definition:
task/constraints/WeekDayConstraint.java:29
org.turro.scheduler.task.constraints.WeekDayConstraint.needsRefresh
boolean needsRefresh()
Definition:
task/constraints/WeekDayConstraint.java:46
org.turro.scheduler.task.constraints.WeekDayConstraint.getWeekDay
WeekDay getWeekDay(Date date)
Definition:
task/constraints/WeekDayConstraint.java:50
org.turro.scheduler.task.constraints.WeekDayConstraint.isValid
boolean isValid(Date date)
Definition:
task/constraints/WeekDayConstraint.java:34
org.turro.scheduler.task.constraints.WeekDay
Definition:
task/constraints/WeekDay.java:27
org.turro.scheduler.task.constraints.WeekDay.THURSDAY
THURSDAY
Definition:
task/constraints/WeekDay.java:32
org.turro.scheduler.task.constraints.WeekDay.WEDNESDAY
WEDNESDAY
Definition:
task/constraints/WeekDay.java:31
org.turro.scheduler.task.constraints.WeekDay.SATURDAY
SATURDAY
Definition:
task/constraints/WeekDay.java:34
org.turro.scheduler.task.constraints.WeekDay.FRIDAY
FRIDAY
Definition:
task/constraints/WeekDay.java:33
org.turro.scheduler.task.constraints.WeekDay.TUESDAY
TUESDAY
Definition:
task/constraints/WeekDay.java:30
org.turro.scheduler.task.constraints.WeekDay.MONDAY
MONDAY
Definition:
task/constraints/WeekDay.java:29
org.turro.scheduler.task.constraints.WeekDay.SUNDAY
SUNDAY
Definition:
task/constraints/WeekDay.java:35
TurroProjects
Public
Elephant
elephant-scheduler
src
main
java
org
turro
scheduler
task
constraints
WeekDayConstraint.java
Generated on Tue Mar 12 2024 07:01:21 for BrightSide by
1.9.1