BrightSide Workbench Full Report + Source Code
task/constraints/MonthConstraint.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
MonthConstraint
extends
HashSet<Month> {
30
31
private
Month
lastCheck;
32
private
boolean
refresh;
33
34
public
boolean
isValid
(Date date) {
35
refresh =
false
;
36
Month
m =
getMonth
(date);
37
if
(m !=
null
&& contains(m)) {
38
refresh = !m.equals(lastCheck);
39
lastCheck = m;
40
return
true
;
41
}
42
lastCheck = m;
43
return
isEmpty();
44
}
45
46
public
boolean
needsRefresh
() {
47
return
refresh;
48
}
49
50
51
public
Month
getMonth
(Date date) {
52
Calendar c = Calendar.getInstance();
53
c.setTime(date);
54
return
switch
(c.get(Calendar.MONTH)) {
55
case
Calendar.
JANUARY
->
Month
.
JANUARY
;
56
case
Calendar.FEBRUARY ->
Month
.
FEBRUARY
;
57
case
Calendar.MARCH ->
Month
.
MARCH
;
58
case
Calendar.APRIL ->
Month
.
APRIL
;
59
case
Calendar.MAY ->
Month
.
MAY
;
60
case
Calendar.JUNE->
Month
.
JUNE
;
61
case
Calendar.JULY ->
Month
.
JULY
;
62
case
Calendar.AUGUST ->
Month
.
AUGUST
;
63
case
Calendar.SEPTEMBER ->
Month
.
SEPTEMBER
;
64
case
Calendar.OCTOBER ->
Month
.
OCTOBER
;
65
case
Calendar.NOVEMBER ->
Month
.
NOVEMBER
;
66
case
Calendar.DECEMBER ->
Month
.
DECEMBER
;
67
default
->
null
;
68
};
69
}
70
71
}
org.turro.scheduler.task.constraints.MonthConstraint
Definition:
task/constraints/MonthConstraint.java:29
org.turro.scheduler.task.constraints.MonthConstraint.needsRefresh
boolean needsRefresh()
Definition:
task/constraints/MonthConstraint.java:46
org.turro.scheduler.task.constraints.MonthConstraint.getMonth
Month getMonth(Date date)
Definition:
task/constraints/MonthConstraint.java:51
org.turro.scheduler.task.constraints.MonthConstraint.isValid
boolean isValid(Date date)
Definition:
task/constraints/MonthConstraint.java:34
org.turro.scheduler.task.constraints.Month
Definition:
task/constraints/Month.java:24
org.turro.scheduler.task.constraints.Month.JUNE
JUNE
Definition:
task/constraints/Month.java:31
org.turro.scheduler.task.constraints.Month.DECEMBER
DECEMBER
Definition:
task/constraints/Month.java:37
org.turro.scheduler.task.constraints.Month.APRIL
APRIL
Definition:
task/constraints/Month.java:29
org.turro.scheduler.task.constraints.Month.MARCH
MARCH
Definition:
task/constraints/Month.java:28
org.turro.scheduler.task.constraints.Month.FEBRUARY
FEBRUARY
Definition:
task/constraints/Month.java:27
org.turro.scheduler.task.constraints.Month.MAY
MAY
Definition:
task/constraints/Month.java:30
org.turro.scheduler.task.constraints.Month.NOVEMBER
NOVEMBER
Definition:
task/constraints/Month.java:36
org.turro.scheduler.task.constraints.Month.SEPTEMBER
SEPTEMBER
Definition:
task/constraints/Month.java:34
org.turro.scheduler.task.constraints.Month.AUGUST
AUGUST
Definition:
task/constraints/Month.java:33
org.turro.scheduler.task.constraints.Month.JULY
JULY
Definition:
task/constraints/Month.java:32
org.turro.scheduler.task.constraints.Month.OCTOBER
OCTOBER
Definition:
task/constraints/Month.java:35
org.turro.scheduler.task.constraints.Month.JANUARY
JANUARY
Definition:
task/constraints/Month.java:26
TurroProjects
Public
Elephant
elephant-scheduler
src
main
java
org
turro
scheduler
task
constraints
MonthConstraint.java
Generated on Tue Mar 12 2024 07:01:20 for BrightSide by
1.9.1