Skip to content

Commit 34a6a3c

Browse files
authored
Neu hochladen über Browser
1 parent 0bb248a commit 34a6a3c

12 files changed

+1135
-0
lines changed

Ausprobieren.java

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package kalender;
2+
3+
import java.util.concurrent.TimeUnit;
4+
5+
import kalender.interfaces.*;
6+
7+
public class Ausprobieren {
8+
9+
public static void main(String[] args) throws InterruptedException {
10+
TerminKalender tk = new TerminKalenderImpl();
11+
TerminMitWiederholung tmw = new TerminMitWiederholungImpl("TEST!", new DatumImpl(new TagImpl(2017, 350)), new DauerImpl(24, 0, 0), WiederholungType.WOECHENTLICH, 100, 1);
12+
System.out.println(tmw.termineFuer(new MonatImpl(2018, 3)));
13+
// System.out.println(tk.eintragen(tmw));
14+
// TimeUnit.SECONDS.sleep(1);
15+
// System.out.println(tk.enthaeltTermin(tmw));
16+
// tk.eintragen(new TerminImpl("Test", new DatumImpl(new TagImpl(2016,9,29)),new DauerImpl(3,0)));
17+
//System.out.println(tk.toString()); }
18+
19+
}}

DatumImpl.java

+136
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
package kalender;
2+
3+
import java.util.Calendar;
4+
import java.util.GregorianCalendar;
5+
import java.util.concurrent.TimeUnit;
6+
7+
import kalender.interfaces.Datum;
8+
import kalender.interfaces.Dauer;
9+
import kalender.interfaces.Monat;
10+
import kalender.interfaces.Tag;
11+
import kalender.interfaces.Uhrzeit;
12+
import kalender.interfaces.Woche;
13+
14+
public class DatumImpl implements Datum {
15+
16+
private Calendar intern;
17+
18+
public DatumImpl(Tag tag) {
19+
this(tag, new UhrzeitImpl());
20+
}
21+
22+
public DatumImpl(Tag tag, Uhrzeit uhrzeit) {
23+
intern = Calendar.getInstance();
24+
intern.set(tag.getJahr(), tag.getMonat(), tag.getTagImMonat(), uhrzeit.getStunde(), uhrzeit.getMinuten());
25+
}
26+
27+
public DatumImpl(Datum d) {
28+
this(d.getTag(), d.getUhrzeit());
29+
}
30+
31+
private DatumImpl(Calendar intern) {
32+
intern = Calendar.getInstance();
33+
this.intern = intern;
34+
}
35+
36+
@Override
37+
public int compareTo(Datum o) {
38+
return (o.inBasis().compareTo(this.inBasis()));
39+
}
40+
41+
@Override
42+
public Tag getTag() {
43+
return new TagImpl(intern.get(Calendar.YEAR), intern.get(Calendar.MONTH), intern.get(Calendar.DAY_OF_MONTH));
44+
}
45+
46+
@Override
47+
public Woche getWoche() {
48+
return new WocheImpl(intern.get(Calendar.YEAR), intern.get(Calendar.MONTH), intern.get(Calendar.WEEK_OF_MONTH));
49+
}
50+
51+
@Override
52+
public Monat getMonat() {
53+
return new MonatImpl(intern.get(Calendar.YEAR), intern.get(Calendar.MONTH));
54+
}
55+
56+
@Override
57+
public Uhrzeit getUhrzeit() {
58+
return new UhrzeitImpl(intern.get(Calendar.HOUR_OF_DAY), intern.get(Calendar.MINUTE));
59+
}
60+
61+
@Override
62+
public int getJahr() {
63+
return intern.get(Calendar.YEAR);
64+
}
65+
66+
@Override
67+
public int getTagImMonat() {
68+
return intern.get(Calendar.DAY_OF_MONTH);
69+
}
70+
71+
@Override
72+
public int getTagImJahr() {
73+
return intern.get(Calendar.DAY_OF_YEAR);
74+
}
75+
76+
@Override
77+
public int getWocheImMonat() {
78+
return intern.get(Calendar.WEEK_OF_MONTH);
79+
}
80+
81+
@Override
82+
public int getWocheImJahr() {
83+
return intern.get(Calendar.WEEK_OF_YEAR);
84+
}
85+
86+
@Override
87+
public int getMonatImJahr() {
88+
return intern.get(Calendar.MONTH);
89+
}
90+
91+
@Override
92+
public Datum add(Dauer dauer) {
93+
intern.add(Calendar.MINUTE, dauer.inMinuten());
94+
return this;
95+
}
96+
97+
@Override
98+
public Datum sub(Dauer dauer) {
99+
intern.add(Calendar.MINUTE, -(dauer.inMinuten()));
100+
return this;
101+
}
102+
103+
@Override
104+
public Dauer abstand(Datum d) {
105+
return new DauerImpl((int) TimeUnit.MILLISECONDS.toMinutes(Math.abs(intern.getTimeInMillis()
106+
- (new GregorianCalendar(d.getJahr(), d.getMonatImJahr(), d.getTagImMonat())).getTimeInMillis())));
107+
}
108+
109+
@Override
110+
public long differenzInTagen(Datum d) {
111+
return this.getTag().differenzInTagen(d.getTag());
112+
}
113+
114+
@Override
115+
public int inMinuten() {
116+
return ((int) (intern.getTimeInMillis() / 1000 / 60));
117+
}
118+
119+
@Override
120+
public Calendar inBasis() {
121+
return (Calendar) intern.clone();
122+
}
123+
124+
@Override
125+
public String toString(){
126+
return String.format(this.getTag().toString() + this.getUhrzeit().toString());
127+
}
128+
129+
@Override
130+
public int hashCode() {
131+
final int prime = 31;
132+
int result = 1;
133+
result = prime * result + ((intern == null) ? 0 : intern.hashCode());
134+
return result;
135+
}
136+
}

DauerImpl.java

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
package kalender;
2+
3+
import kalender.interfaces.Datum;
4+
import kalender.interfaces.Dauer;
5+
6+
public class DauerImpl implements Dauer {
7+
8+
private int minuten;
9+
final static int mToS = 60;
10+
final static int sToD = 24;
11+
final static int dToW = 7;
12+
13+
public DauerImpl(Datum d1, Datum d2) {
14+
this(d1.abstand(d2).inMinuten());
15+
}
16+
17+
public DauerImpl(int minuten) {
18+
this.minuten = minuten;
19+
}
20+
21+
public DauerImpl(int stunden, int minuten) {
22+
this(stunden * mToS + minuten);
23+
}
24+
25+
public DauerImpl(int tage, int stunden, int minuten) {
26+
this(tage * sToD + stunden, minuten);
27+
}
28+
29+
@Override
30+
public int compareTo(Dauer o) {
31+
if (o.inMinuten() > this.inMinuten()) {
32+
return 1;
33+
} else if (o.inMinuten() == this.inMinuten()) {
34+
return 0;
35+
} else {
36+
return -1;
37+
}
38+
}
39+
40+
@Override
41+
public int inMinuten() {
42+
return minuten;
43+
}
44+
45+
@Override
46+
public int inStunden() {
47+
return (minuten / mToS);
48+
}
49+
50+
@Override
51+
public int inTagen() {
52+
return (inStunden() / sToD);
53+
}
54+
55+
@Override
56+
public int inWochen() {
57+
return (inTagen() / dToW);
58+
}
59+
60+
@Override
61+
public int anteilMinuten() {
62+
return minuten - (anteilStunden());
63+
}
64+
65+
@Override
66+
public int anteilStunden() {
67+
return inStunden() * mToS - (anteilTage());
68+
}
69+
70+
@Override
71+
public int anteilTage() {
72+
return (inTagen() * sToD * mToS) - (anteilWochen());
73+
}
74+
75+
@Override
76+
public int anteilWochen() {
77+
return inWochen() * dToW * sToD * mToS;
78+
}
79+
80+
public boolean equals(Object obj) {
81+
if (this == obj)
82+
return true;
83+
if (!(obj instanceof Dauer) || (obj == null))
84+
return false;
85+
return (this.compareTo((Dauer) obj) == 0);
86+
}
87+
88+
89+
@Override
90+
public String toString() {
91+
return String.format("Dauer: %dWochen, %dTage, %dStunden, %dMinuten", inWochen(), inTagen(), inStunden(),
92+
inMinuten());
93+
}
94+
95+
@Override
96+
public int hashCode() {
97+
final int prime = 31;
98+
int result = 1;
99+
result = prime * result + minuten;
100+
return result;
101+
}
102+
103+
104+
105+
106+
}

MonatImpl.java

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package kalender;
2+
3+
import java.util.Calendar;
4+
5+
import kalender.interfaces.Datum;
6+
import kalender.interfaces.Monat;
7+
8+
public class MonatImpl implements Monat {
9+
10+
private Calendar intern;
11+
12+
public MonatImpl(int jahr, int monat) {
13+
intern = Calendar.getInstance();
14+
intern.clear();
15+
intern.set(Calendar.YEAR, jahr);
16+
intern.set(Calendar.MONTH, monat);
17+
}
18+
19+
@Override
20+
public Datum getStart() {
21+
return new DatumImpl(new TagImpl(intern.get(Calendar.YEAR), intern.get(Calendar.MONTH),
22+
intern.getActualMinimum(Calendar.DAY_OF_MONTH)));
23+
}
24+
25+
@Override
26+
public Datum getEnde() {
27+
return new DatumImpl(new TagImpl(intern.get(Calendar.YEAR), intern.get(Calendar.MONTH),
28+
intern.getActualMaximum(Calendar.DAY_OF_MONTH)), new UhrzeitImpl(23, 59));
29+
}
30+
31+
@Override
32+
public int getMonat() {
33+
return intern.get(Calendar.MONTH);
34+
}
35+
36+
@Override
37+
public int getJahr() {
38+
return intern.get(Calendar.YEAR);
39+
}
40+
41+
@Override
42+
public String toString() {
43+
return String.format("Monat %d,%d [" + getStart() + "," + getEnde() + "]", getMonat() + 1, getJahr());
44+
}
45+
46+
@Override
47+
public int hashCode() {
48+
final int prime = 31;
49+
int result = 1;
50+
result = prime * result + ((intern == null) ? 0 : intern.hashCode());
51+
return result;
52+
}
53+
54+
55+
56+
public boolean equals(Object obj) {
57+
if (this == obj)
58+
return true;
59+
if (!(obj instanceof Monat) || (obj == null))
60+
return false;
61+
return (this.getMonat() == ((Monat) obj).getMonat()
62+
&& this.getJahr() == ((Monat) obj).getJahr());
63+
}
64+
65+
}

0 commit comments

Comments
 (0)