///////////////////////////////////////////////////////////////////////////// // // Project ProjectForge Community Edition // www.projectforge.org // // Copyright (C) 2001-2014 Kai Reinhard (k.reinhard@micromata.de) // // ProjectForge is dual-licensed. // // This community edition is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as published // by the Free Software Foundation; version 3 of the License. // // This community edition is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General // Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program; if not, see http://www.gnu.org/licenses/. // ///////////////////////////////////////////////////////////////////////////// package org.projectforge.calendar; import java.math.BigDecimal; import org.apache.commons.lang.builder.ReflectionToStringBuilder; import org.projectforge.xml.stream.XmlField; import org.projectforge.xml.stream.XmlObject; /** * Used in config.xml for (re-)definition of holidays. * * @author Kai Reinhard (k.reinhard@micromata.de) * */ @XmlObject(alias = "holiday") public class ConfigureHoliday { @XmlField(asAttribute = true) private String label; private HolidayDefinition id; private boolean ignore; private Integer year; private Integer month; private Integer dayOfMonth; private boolean workingDay; private BigDecimal workFraction; public ConfigureHoliday() { } /** * @return Label to display in calendar. */ public String getLabel() { return label; } /** * @return Id of pre-defined holidays. * @see HolidayDefinition */ public HolidayDefinition getId() { return id; } /** * If not set then this holiday is repeated every year. */ public Integer getYear() { return year; } public void setYear(Integer year) { this.year = year; } /** * @return Month of year (January = 0, December = 11) */ public Integer getMonth() { return month; } /** * @return Day of month (1..31) */ public Integer getDayOfMonth() { return dayOfMonth; } public boolean isWorkingDay() { return workingDay; } /** * @return null or fraction of working hours if the day is not full a working day (e. g. 0.5 for Xmas Eve or Sylvester for an half working * day). */ public BigDecimal getWorkFraction() { return workFraction; } /** * Ignore this holiday (pre-defined holiday can therefore be disabled). */ public boolean isIgnore() { return ignore; } @Override public String toString() { ReflectionToStringBuilder builder = new ReflectionToStringBuilder(this); return builder.toString(); } }