Package org.projectforge.calendar

Source Code of org.projectforge.calendar.ConfigureHoliday

/////////////////////////////////////////////////////////////////////////////
//
// 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();
  }
}
TOP

Related Classes of org.projectforge.calendar.ConfigureHoliday

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.