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 java.io.Serializable; 025import java.util.ArrayList; 026import java.util.List; 027 028import static java.util.Collections.addAll; 029 030/** 031 * = The Consignment. 032 * 033 */ 034@XmlType(name = "SupplyChainConsignmentType", propOrder = { "shippingMethods" }) 035public class Consignment implements Serializable { 036 037 @Valid 038 @XmlElement(name = "SpecifiedLogisticsTransportMovement") 039 private List<LogisticsTransportMovement> shippingMethods; 040 041 /** 042 * The Constructor. 043 */ 044 public Consignment() { 045 super(); 046 } 047 048 /** 049 * Gets the shipping method. 050 * 051 * @return the shipping method 052 */ 053 public List<LogisticsTransportMovement> getShippingMethods() { 054 if (shippingMethods == null) { 055 shippingMethods = new ArrayList<LogisticsTransportMovement>(); 056 } 057 return shippingMethods; 058 } 059 060 /** 061 * adds shipping methods. 062 * 063 * @param additionalShippingMethod the additional shipping method 064 * @return the consignment 065 */ 066 public Consignment addShippingMethod(LogisticsTransportMovement ...additionalShippingMethod) { 067 addAll(getShippingMethods(), additionalShippingMethod); 068 return this; 069 } 070 071}