001/* Copyright (C) 2014 konik.io
002 *
003 * This file is part of the Konik library.
004 *
005 * The Konik library is free software: you can redistribute it and/or modify
006 * it under the terms of the GNU Affero General Public License as
007 * published by the Free Software Foundation, either version 3 of the
008 * License, or (at your option) any later version.
009 *
010 * The Konik library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
013 * GNU Affero General Public License for more details.
014 *
015 * You should have received a copy of the GNU Affero General Public License
016 * along with the Konik library. If not, see <http://www.gnu.org/licenses/>.
017 */
018package io.konik.zugferd.entity;
019
020import io.konik.zugferd.unqualified.ZfDate;
021
022import javax.validation.Valid;
023import javax.xml.bind.annotation.XmlAccessType;
024import javax.xml.bind.annotation.XmlAccessorType;
025import javax.xml.bind.annotation.XmlElement;
026import javax.xml.bind.annotation.XmlType;
027
028/**
029 * = The period of time
030 * 
031 */
032@XmlAccessorType(XmlAccessType.FIELD)
033@XmlType(name = "SpecifiedPeriodType", propOrder = { "start", "end" })
034public class Period {
035
036   @Valid
037   @XmlElement(name = "StartDateTime")
038   private ZfDate start;
039
040   @Valid
041   @XmlElement(name = "EndDateTime")
042   private ZfDate end;
043
044
045   /**
046    * Gets the start date time.
047    * 
048    * @return the start date time
049    */
050   public ZfDate getStart() {
051      return start;
052   }
053
054   /**
055    * Sets the start date time.
056    *
057    * @param start the new start date time
058    * @return the period
059    */
060   public Period setStart(ZfDate start) {
061      this.start = start;
062      return this;
063   }
064
065   /**
066    * Gets the end date time.
067    * 
068    * @return the end date time
069    */
070   public ZfDate getEnd() {
071      return end;
072   }
073
074   /**
075    * Sets the end date time.
076    *
077    * @param end the new end date time
078    * @return the period
079    */
080   public Period setEnd(ZfDate end) {
081      this.end = end;
082      return this;
083   }
084
085}