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.jaxb.bindable.entity;
019
020import io.konik.zugferd.entity.Period;
021import io.konik.zugferd.unqualified.ZfDate;
022
023import javax.validation.Valid;
024import javax.xml.bind.annotation.XmlElement;
025import javax.xml.bind.annotation.XmlType;
026
027/**
028 * = The period of time adapter. 
029 */
030@XmlType(propOrder = { "contractualDueDate" })
031public class DueDatePeriod extends Period {
032
033   @Valid
034   @XmlElement(name = "CompleteDateTime")
035   protected ZfDate contractualDueDate;
036
037   DueDatePeriod() {}
038
039   /**
040    * Instantiates a new due date period.
041    *
042    * @param contractualDueDate the contractual due date
043    */
044   public DueDatePeriod(ZfDate contractualDueDate) {
045      this.contractualDueDate = contractualDueDate;
046   }
047
048   /**
049    * Gets the contractual due date.
050    *
051    * @return the contractual due date
052    */
053   public ZfDate getContractualDueDate() {
054      return contractualDueDate;
055   }
056
057   /**
058    * Sets the contractual due date.
059    *
060    * @param contractualDueDate the contractual due date
061    * @return the period
062    */
063   public DueDatePeriod setContractualDueDate(ZfDate contractualDueDate) {
064      this.contractualDueDate = contractualDueDate;
065      return this;
066   }
067}