67 lines
1.2 KiB
Java
67 lines
1.2 KiB
Java
package Calendar;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
|
|
public class Day implements Iterable<Day>,Comparable<Day> {
|
|
|
|
private Days Name;
|
|
private int ordinal;
|
|
private Date date;
|
|
private ArrayList<Slot> Slots = new ArrayList<>();
|
|
|
|
|
|
public Day (Date date, int ordinal) {
|
|
this.ordinal = ordinal;
|
|
this.Name = Days.values()[ordinal-1];
|
|
this.date = date;
|
|
for (int i = 0 ; i < 6 ; i++) {
|
|
Slots.add(new Slot(ActivityType.Empty));
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public Iterator<Day> iterator() {
|
|
return new Iterator<Day>() {
|
|
|
|
@Override
|
|
public boolean hasNext() {
|
|
// There' s always a next day
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public Day next() {
|
|
if (ordinal == 7) {
|
|
|
|
return new Day(date.iterator().next(),1);
|
|
} else {
|
|
return new Day(date.iterator().next(),ordinal+1);
|
|
}
|
|
}
|
|
|
|
};
|
|
}
|
|
|
|
@Override
|
|
public int compareTo(Day o) {
|
|
return this.date.compareTo(o.date);
|
|
}
|
|
public Days getName() {
|
|
return Name;
|
|
}
|
|
public Date getDate() {
|
|
return new Date(date);
|
|
}
|
|
public int getOrdinal() {
|
|
return ordinal;
|
|
}
|
|
public String toString() {
|
|
return Name.toString() + ": " + date.toString();
|
|
}
|
|
public ArrayList<Slot> getSlots() {
|
|
return Slots;
|
|
}
|
|
}
|