-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEvent.java
More file actions
132 lines (107 loc) · 2.57 KB
/
Event.java
File metadata and controls
132 lines (107 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
//Product
abstract class Event{
private PDate start;
private PDate end;
private PDate creation;
private String name;
private String place;
private Component component;
private boolean notify;//Ti avverte se l'evento deve essere notificato.
private boolean alerted;//Se l'evento è stato notificato.
private boolean important;
public Event(PDate s,PDate e,String n,String p,boolean b){
setStart(s);
setEnd(e);
setCreation(PDate.getNow());
setName(n);
setPlace(p);
setNotify(b);
setAlerted(false);
setImportant(false);//Da definire
}
public Event setStart(PDate s){
start = s;
return this;
}
public Event setEnd(PDate e){
end = e;
return this;
}
public Event setCreation(PDate c){
creation = c;
return this;
}
public Event setName(String n){
name = n;
return this;
}
public Event setPlace(String p){
place = p;
return this;
}
public Event setComponent(Component c){
component = c;
return this;
}
public Event setNotify(boolean n){
notify = n;
return this;
}
public Event setAlerted(boolean n){
alerted = n;
return this;
}
public Event setImportant(boolean n){
important = n;
return this;
}
public PDate getStart(){
return start;
}
public PDate getEnd(){
return end;
}
public PDate getCreation(){
return creation;
}
public String getName(){
return name;
}
public String getPlace(){
return place;
}
public Component getComponent(){
return component;
}
public void removeComponent(){
if(component instanceof Composite) ((Composite) component).removeAll();
component = null;
}
public boolean getNotify(){
return notify;
}
public boolean getAlerted(){
return alerted;
}
public boolean getImportant(){
return important;
}
public void print(){
System.out.print(getName()+" in "+getPlace()+" da ");
getStart().print();
System.out.print(" a ");
getEnd().print();
System.out.println(".");
if(component != null) component.show();
}
abstract public int compareEvent(Event e);//Verifica se l'evento e è compatibile con questo. Ritorna false se sono incompatibili, true altrimenti.
abstract public void notifyEvent();//Avverte quando l'evento sta per verificarsi
public void notifyEvent(PDate advise,String mex){
PDate now = PDate.getNow();
if(this.getNotify() == true && this.getAlerted() == false && now.compareTo(this.getStart().subtract(advise)) != -1 && now.compareTo(this.getStart()) != 1){
this.setAlerted(true);
System.out.println("L'evento "+this.getName()+" si verificherà "+mex);
if(this.getComponent() != null) this.getComponent().show();
}
}
}