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