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