TradecloudStaticData.java

package com.tradecloud.domain.common;

import com.tradecloud.domain.comment.Comment;
import com.tradecloud.domain.container.ContainerType;
import com.tradecloud.domain.item.*;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.domain.model.payment.ActualPaymentBasis;
import com.tradecloud.domain.model.payment.EstimatedPaymentBasis;
import com.tradecloud.domain.model.payment.PaymentMethod;
import com.tradecloud.domain.model.payment.PaymentTerm;
import com.tradecloud.domain.party.Employee;
import com.tradecloud.domain.party.ServiceProvider;
import com.tradecloud.domain.place.Country;
import com.tradecloud.domain.place.Depot;
import com.tradecloud.domain.place.NamedPlace;
import com.tradecloud.domain.rate.FreightRate;
import com.tradecloud.domain.supplier.OrganisationalUnitSupplier;
import org.springframework.stereotype.Component;

import javax.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * Wrapper class for all tradecloud static data....
 * <p>
 * No longer a persisted entity
 * <p>
 * This is the main XML that can be used to load up the system with static data.
 * Likewise this is the format of the full database export.
 */

@Component(value = "tradecloudstaticdata")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "TradecloudStaticData")
public class TradecloudStaticData implements Serializable {

    private static final long serialVersionUID = 1L;

    @XmlElementWrapper(name = "Currencies")
    @XmlElement(name = "Currency")
    List<Currency> currencies = new ArrayList<Currency>();

    @XmlElementWrapper(name = "Suppliers")
    @XmlElement(name = "Supplier")
    List<OrganisationalUnitSupplier> suppliers = new ArrayList<OrganisationalUnitSupplier>();

    @XmlElementWrapper(name = "Buyers")
    @XmlElement(name = "Buyer")
    List<Employee> buyers = new ArrayList<Employee>();

    @XmlElementWrapper(name = "Seller")
    @XmlElement(name = "Seller")
    List<Employee> sellers = new ArrayList<Employee>();

    @XmlElementWrapper(name = "OrganisationalUnits")
    @XmlElement(name = "OrganisationalUnit")
    List<OrganisationalUnit> organisationalUnits = new ArrayList<OrganisationalUnit>();

    @XmlElementWrapper(name = "Countries")
    @XmlElement(name = "Country")
    List<Country> countries = new ArrayList<Country>();

    @XmlElementWrapper(name = "Depots")
    @XmlElement(name = "Depot")
    List<Depot> depots = new ArrayList<Depot>();

    @XmlElementWrapper(name = "Incoterms")
    @XmlElement(name = "Incoterm")
    List<Incoterm> incoterms = new ArrayList<Incoterm>();

    @XmlElementWrapper(name = "PaymentMethods")
    @XmlElement(name = "PaymentMethod")
    List<PaymentMethod> paymentMethods = new ArrayList<PaymentMethod>();

    @XmlElementWrapper(name = "PaymentTerms")
    @XmlElement(name = "PaymentTerm")
    List<PaymentTerm> paymentTerms = new ArrayList<PaymentTerm>();

    @XmlElementWrapper(name = "ActualPaymentBases")
    @XmlElement(name = "ActualPaymentBasis")
    List<ActualPaymentBasis> actualPaymentBasis = new ArrayList<ActualPaymentBasis>();

    @XmlElementWrapper(name = "EstimatedPaymentBases")
    @XmlElement(name = "EstimatedPaymentBasis")
    List<EstimatedPaymentBasis> estimatedPaymentBasis = new ArrayList<EstimatedPaymentBasis>();

    @XmlElementWrapper(name = "Place")
    @XmlElement(name = "Place")
    List<NamedPlace> places = new ArrayList<NamedPlace>();

    @XmlElementWrapper(name = "Comments")
    @XmlElement(name = "Comment")
    List<Comment> comments = new ArrayList<Comment>();

    @XmlElementWrapper(name = "ContainerTypes")
    @XmlElement(name = "ContainerType")
    List<ContainerType> containerTypes = new ArrayList<ContainerType>();

    @XmlElementWrapper(name = "FreigthRates")
    @XmlElement(name = "FreightRate")
    List<FreightRate> freightRates = new ArrayList<FreightRate>();

    @XmlElementWrapper(name = "ServiceProviders")
    @XmlElement(name = "ServiceProvider")
    private List<ServiceProvider> serviceProviders;

    @XmlElementWrapper(name = "UnitTypes")
    @XmlElement(name = "UnitType")
    private List<UnitType> unitTypes;

    @XmlElementWrapper(name = "PackageUnitTypes")
    @XmlElement(name = "PackageUnitType")
    private List<PackageType> packageTypes;

    @XmlElementWrapper(name = "ItemCategories")
    @XmlElement(name = "ItemCategory")
    private List<ItemCategory> itemCategories;

    @XmlElementWrapper(name = "BaseCategories")
    @XmlElement(name = "BaseCategory")
    private List<BaseCategory> baseCategories;

    @XmlElementWrapper(name = "WeightUnitsfMeasure")
    @XmlElement(name = "WeightUnitOfMeasure")
    private List<WeightUnitOfMeasure> weightUnitsOfmeasure;

    @XmlElementWrapper(name = "VolumeUnitsfMeasure")
    @XmlElement(name = "VolumeUnitOfMeasure")
    private List<VolumeUnitOfMeasure> volumeUnitsOfmeasure;

    public List<Comment> getComments() {
        return comments;
    }

    public void setComments(List<Comment> comments) {
        this.comments = comments;
    }

    public List<OrganisationalUnitSupplier> getSuppliers() {
        return suppliers;
    }

    public List<Employee> getBuyers() {
        return buyers;
    }

    public List<Country> getCountries() {
        return countries;
    }

    public List<Incoterm> getIncoterms() {
        return incoterms;
    }

    public void setSuppliers(List<OrganisationalUnitSupplier> suppliers) {
        this.suppliers = suppliers;
    }

    public void setBuyers(List<Employee> buyers) {
        this.buyers = buyers;
    }

    public void setCountries(List<Country> countries) {
        this.countries = countries;
    }

    public void setIncoterms(List<Incoterm> incoterms) {
        this.incoterms = incoterms;
    }

    public List<Currency> getCurrencies() {
        return currencies;
    }

    public void setCurrencies(List<Currency> currencies) {
        this.currencies = currencies;
    }

    public List<PaymentMethod> getPaymentMethods() {
        return paymentMethods;
    }

    public List<PaymentTerm> getPaymentTerms() {
        return paymentTerms;
    }

    public List<ActualPaymentBasis> getActualPaymentBasis() {
        return actualPaymentBasis;
    }

    public void setActualPaymentBasis(List<ActualPaymentBasis> actualPaymentBasis) {
        this.actualPaymentBasis = actualPaymentBasis;
    }

    public List<EstimatedPaymentBasis> getEstimatedPaymentBasis() {
        return estimatedPaymentBasis;
    }

    public void setEstimatedPaymentBasis(List<EstimatedPaymentBasis> estimatedPaymentBasis) {
        this.estimatedPaymentBasis = estimatedPaymentBasis;
    }

    public void setPaymentMethods(List<PaymentMethod> paymentMethods) {
        this.paymentMethods = paymentMethods;
    }

    public void setPaymentTerms(List<PaymentTerm> paymentTerms) {
        this.paymentTerms = paymentTerms;
    }

    public List<OrganisationalUnit> getOrganisationalUnits() {
        return organisationalUnits;
    }

    public void setOrganisationalUnits(List<OrganisationalUnit> organisationalUnits) {
        this.organisationalUnits = organisationalUnits;
    }

    public List<Depot> getDepots() {
        return depots;
    }

    public void setDepots(List<Depot> Depots) {
        this.depots = Depots;
    }

    public List<NamedPlace> getNamedPlaces() {
        return places;
    }

    public void setNamedPlaces(List<NamedPlace> places) {
        this.places = places;
    }

    public List<Employee> getSellers() {
        return sellers;
    }

    public void setSellers(List<Employee> sellers) {
        this.sellers = sellers;
    }

    public List<ContainerType> getContainerTypes() {
        return containerTypes;
    }

    public void setContainerTypes(List<ContainerType> containerTypes) {
        this.containerTypes = containerTypes;
    }

    public List<FreightRate> getFreightRates() {
        return freightRates;
    }

    public void setFreightRates(List<FreightRate> freightRates) {
        this.freightRates = freightRates;
    }

    public void setServiceProviders(List<ServiceProvider> serviceProviders) {
        this.serviceProviders = serviceProviders;
    }

    public List<ServiceProvider> getServiceProviders() {
        return serviceProviders;
    }

    public List<UnitType> getUnitTypes() {
        return unitTypes;
    }

    public void setUnitTypes(List<UnitType> unitTypes) {
        this.unitTypes = unitTypes;
    }

    public List<PackageType> getPackageTypes() {
        return packageTypes;
    }

    public void setPackageTypes(List<PackageType> packageTypes) {
        this.packageTypes = packageTypes;
    }

    public List<ItemCategory> getItemCategories() {
        return itemCategories;
    }

    public void setItemCategories(List<ItemCategory> itemCategories) {
        this.itemCategories = itemCategories;
    }

    public List<BaseCategory> getBaseCategories() {
        return baseCategories;
    }

    public void setBaseCategories(List<BaseCategory> baseCategories) {
        this.baseCategories = baseCategories;
    }

    public List<WeightUnitOfMeasure> getWeightUnitsOfmeasure() {
        return weightUnitsOfmeasure;
    }

    public void setWeightUnitsOfmeasure(List<WeightUnitOfMeasure> weightUnitsOfmeasure) {
        this.weightUnitsOfmeasure = weightUnitsOfmeasure;
    }

    public List<VolumeUnitOfMeasure> getVolumeUnitsOfmeasure() {
        return volumeUnitsOfmeasure;
    }

    public void setVolumeUnitsOfmeasure(List<VolumeUnitOfMeasure> volumeUnitsOfmeasure) {
        this.volumeUnitsOfmeasure = volumeUnitsOfmeasure;
    }

    @Override
    public String toString() {
        return "TradecloudStaticData [currencies=" + currencies + ", suppliers=" + suppliers + ", buyers=" + buyers + ", sellers=" + sellers
                + ", organisationalUnits=" + organisationalUnits + ", countries=" + countries + ", Depots=" + depots + ", incoterms=" + incoterms
                + ", paymentMethods=" + paymentMethods + ", paymentTerms=" + paymentTerms + ", actualPaymentBasis="
                + actualPaymentBasis + ", estimatedPaymentBasis=" + estimatedPaymentBasis + ", places=" + places + ", comments=" + comments
                + ", containerTypes=" + containerTypes + ", serviceProviders=" + serviceProviders + ", unitTypes=" + unitTypes + ", packageTypes="
                + packageTypes + "]";
    }
}