WeekHolder.javaprojectforge-business/src/main/java/org/projectforge/framework/calendar/WeekHolder.java, содержащий Java-код для слоя календаря.Пакет: org.projectforge.framework.calendar
Классы: WeekHolder
Реализует: Serializable
Методы (6): getWeekOfYear, getFirstDayDate, getLastDayDate, addObject, getObject, toString
Поля (2): serialVersionUID, weekOfYear
Импорты: 6 пакетов
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();
// Обработка недели
for (int i = 0; i < 7; i++) {
if (day.getMonth() != month) {
// TODO: Отметить этот день как день из предыдущего или следующего месяца:
//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];
}
/**
* Для хранения дополнительных объектов, привязанных к неделе. Используется селектором дат для отображения общего рабочего времени пользователя.
*/
public void addObject(String key, Object value) {
if (this.objects == null) {
this.objects = new HashMap<>();
}
this.objects.put(key, value);
}
/**
* Используется для получения, например, общего рабочего времени пользователя за эту неделю.
*
* @return сохранённые объекты для этого дня или null, если не существуют.
*/
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 Заголовки исходных файлов: 2024 -> 2025. b6092df09 Авторские права 2023 -> 2024 ab45d51fa Авторские права 2001-2022 -> 2001-2023. 5f7ef41b8 Авторские права 2021 -> 2022