WeekHolder.javaprojectforge-business/src/main/java/org/projectforge/framework/calendar/WeekHolder.java,
die Java-Code für die Kalenderschicht enthält.
Paket: org.projectforge.framework.calendar
Klassen: WeekHolder
Implementiert: Serializable
Methoden (6): getWeekOfYear, getFirstDayDate, getLastDayDate, addObject, getObject, toString
Felder (2): serialVersionUID, weekOfYear
Importe: 6 Pakete
package org.projectforge.framework.calendar;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.projectforge.framework.time.PFDay;
import java.io.Serializable;
import java.time.Month;
import java.util.HashMap;
import java.util.Map;
/**
* @author Kai Reinhard (k.reinhard@micromata.de)
*/
public class WeekHolder implements Serializable {
private static final long serialVersionUID = -3895513078248004222L;
private PFDay[] days;
private int weekOfYear;
private Map<String, Object> objects;
public WeekHolder(PFDay date) {
final Month month = date.getMonth();
weekOfYear = date.getWeekOfYear();
days = new PFDay[7];
PFDay day = date.getBeginOfWeek();
// Woche verarbeiten
for (int i = 0; i < 7; i++) {
if (day.getMonth() != month) {
// TODO: Diesen Tag als Tag des vorherigen oder nächsten Monats markieren:
//day.setMarker(true);
}
days[i] = day;
day = day.plusDays(1);
}
}
public int getWeekOfYear() {
return weekOfYear;
}
public PFDay[] getDays() {
return days;
}
public PFDay getFirstDayDate() {
return days[0];
}
public PFDay getLastDayDate() {
return days[days.length - 1];
}
/**
* Zum Speichern zusätzlicher Objekte zu einer Woche.
* Wird vom Datumsauswahlfeld verwendet, um die gesamte Arbeitszeit des Benutzers anzuzeigen.
*/
public void addObject(String key, Object value) {
if (this.objects == null) {
this.objects = new HashMap<>();
}
this.objects.put(key, value);
}
/**
* Wird verwendet, um z. B. die gesamte Arbeitszeit des Benutzers in dieser Woche abzurufen.
*
* @return die gespeicherten Objekte zu diesem Tag oder null, falls nicht vorhanden.
*/
public Object getObject(String key) {
if (this.objects == null) {
return null;
}
return this.objects.get(key);
}
public Map<String, Object> getObjects() {
return this.objects;
}
public String toString() {
ToStringBuilder tos = new ToStringBuilder(this);
tos.append("days", getDays());
return tos.toString();
}
}
868d6abb7 2025 -> 2026 63081666f Quellcode-Dateiköpfe: 2024 -> 2025. b6092df09 Copyright 2023 -> 2024 ab45d51fa Copyright 2001-2022 -> 2001-2023. 5f7ef41b8 Copyright 2021 -> 2022