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 */
018
019package io.konik.zugferd.entity;
020
021import io.konik.validator.annotation.Extended;
022import io.konik.validator.annotation.NullableNotBlank;
023import io.konik.zugferd.unqualified.ID;
024
025import javax.validation.Valid;
026import javax.xml.bind.annotation.XmlAccessType;
027import javax.xml.bind.annotation.XmlAccessorType;
028import javax.xml.bind.annotation.XmlElement;
029import javax.xml.bind.annotation.XmlType;
030import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
031import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
032
033/**
034 * = The Logistics Transport Movement.
035 * 
036 */
037@XmlType(name = "LogisticsTransportMovementType", propOrder = { "modeCode", "shippingId" })
038public class LogisticsTransportMovement {
039
040   @XmlElement(name = "ModeCode")
041   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
042   private String modeCode;
043
044   @XmlElement(name = "ID")
045   private ID shippingId;
046
047   /**
048    * Gets the shpping mode code.
049    *
050    * @return the mode code
051    */
052   @NullableNotBlank
053   @Extended
054   public String getModeCode() {
055      return modeCode;
056   }
057
058   /**
059    * Sets the shpping mode code.
060    *
061    * @param modeCode the mode code
062    * @return the logistics transport movement
063    */
064   public LogisticsTransportMovement setModeCode(String modeCode) {
065      this.modeCode = modeCode;
066      return this;
067   }
068
069   /**
070    * Gets the shpping id.
071    *
072    * @return the id
073    */
074   @Valid
075   @Extended
076   public ID getShppingId() {
077      return shippingId;
078   }
079
080   /**
081    * Sets the shpping id.
082    *
083    * @param shippingId the id
084    * @return the logistics transport movement
085    */
086   public LogisticsTransportMovement setShppingId(ID shippingId) {
087      this.shippingId = shippingId;
088      return this;
089   }
090
091}