StateClientConfig.java
package com.tradecloud.domain.configuration;
import com.tradecloud.common.base.PersistenceBase;
import org.hibernate.annotations.ForeignKey;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Set;
import java.util.stream.Collectors;
/**
* A holder for state client configuration values.
* <p>
* <strong>Do not eager load any of the member state collections</strong>.
*/
@Entity
@Table(name = "stateclientconfig")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "StateClientConfig")
public class StateClientConfig extends PersistenceBase {
private static final long serialVersionUID = 1L;
@XmlElementWrapper(name = "ItemStatesMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_itemstatemetadata")
@JoinTable(name = "stateclientconfig_itemstatesmetadata",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<LineItemStateMetaData> lineItemStatesMetaData;
@XmlElementWrapper(name = "ProductStatesMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_productstatemetadata")
@JoinTable(name = "stateclientconfig_productstatesmetadata",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<ProductStateMetaData> productStatesMetaData;
@XmlElementWrapper(name = "OrderStatesMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_orderstatemetadata")
@JoinTable(name = "stateclientconfig_orderstatesmetadata",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<OrderStateMetaData> orderStatesMetaData;
@XmlElementWrapper(name = "ConsignmentStatesMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_consignmentstatemetadata")
@JoinTable(name = "stateclientconfig_consignmentstatesmetadata",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<ConsignmentStateMetaData> consignmentStatesMetaData;
@XmlElementWrapper(name = "ShipmentStatesMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_shipmentstatemetadata")
@JoinTable(name = "stateclientconfig_shipmentstatesmetadata",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<ShipmentStateMetaData> shipmentStatesMetaData;
@XmlElementWrapper(name = "ExportShipmentStatesMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_exportstateclientconfig", inverseName = "fk_exportshipmentstatemetadata")
@JoinTable(name = "stateclientconfig_exportshipmentstatesmetadata",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<ExportShipmentStateMetaData> exportShipmentStatesMetaData;
@XmlElementWrapper(name = "CommercialInvoiceStateMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_documentstatemetadata")
@JoinTable(name = "stateclientconfig_CommercialInvoiceStateMetaData",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<CommercialInvoiceStateMetaData> commercialInvoiceStateMetaData;
@XmlElementWrapper(name = "ServiceProviderInvoiceStateMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_documentstatemetadata")
@JoinTable(name = "stateclientconfig_ServiceProviderInvoiceStateMetaData",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<ServiceProviderInvoiceStateMetaData> serviceProviderInvoiceStateMetaData;
@XmlElementWrapper(name = "CommercialCreditNoteStateMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_documentstatemetadata")
@JoinTable(name = "stateclientconfig_CommercialCreditNoteStateMetaData",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<CommercialCreditNoteStateMetaData> commercialCreditNoteStateMetaData;
@XmlElementWrapper(name = "ServiceProviderInvoiceStateMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_documentstatemetadata")
@JoinTable(name = "stateclientconfig_ServiceProviderCreditNoteStateMetaData",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<ServiceProviderCreditNoteStateMetaData> serviceProviderCreditNoteStateMetaData;
@XmlElementWrapper(name = "ContainerStatesMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_containerstatemetadata")
@JoinTable(name = "stateclientconfig_containerstatesmetadata",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<ContainerStateMetaData> containerStatesMetaData;
@XmlElementWrapper(name = "CartonStateMetaData")
@OneToMany(cascade = CascadeType.ALL)
@ForeignKey(name = "fk_stateclientconfig", inverseName = "fk_cartonStateMetaData")
@JoinTable(name = "stateclientconfig_cartonStateMetaData",
joinColumns = {@JoinColumn(name = "config_id", unique = false)},
inverseJoinColumns = {@JoinColumn(name = "metadata_id", unique = false)})
private Set<CartonStateMetaData> cartonStateMetaData;
public Set<LineItemStateMetaData> getLineItemStatesMetaData() {
return lineItemStatesMetaData;
}
public void setLineItemStatesMetaData(Set<LineItemStateMetaData> lineItemStatesMetaData) {
this.lineItemStatesMetaData = lineItemStatesMetaData;
}
public Set<LineItemStateMetaData> getFullLineItemStatesMetaData() {
Set<LineItemStateMetaData> lineItemStateMetaData = lineItemStatesMetaData.stream().filter(lt -> lt.getType() ==
LineItemStateMetaData.Type.FULL).collect(Collectors.toSet());
return lineItemStateMetaData;
}
public Set<LineItemStateMetaData> getElcLineItemStatesMetaData() {
Set<LineItemStateMetaData> lineItemStateMetaData = lineItemStatesMetaData.stream().filter(lt -> lt.getType() ==
LineItemStateMetaData.Type.ELC).collect(Collectors.toSet());
return lineItemStateMetaData;
}
public Set<LineItemStateMetaData> getCartonItemStatesMetaData() {
if (lineItemStatesMetaData != null) {
Set<LineItemStateMetaData> lineItemStateMetaData = lineItemStatesMetaData.stream().filter(lt -> lt.getType() ==
LineItemStateMetaData.Type.CARTON_ITEM).collect(Collectors.toSet());
return lineItemStateMetaData;
}
return null;
}
public Set<ProductStateMetaData> getProductStatesMetaData() {
return productStatesMetaData;
}
public Set<ProductStateMetaData> getFullProductStatesMetaData() {
Set<ProductStateMetaData> productStateMetaDataSet = productStatesMetaData.stream().filter(pt -> pt.getType() ==
ProductStateMetaData.Type.FULL).collect(Collectors.toSet());
return productStateMetaDataSet;
}
public Set<ProductStateMetaData> getElcProductStatesMetaData() {
Set<ProductStateMetaData> productStateMetaDataSet = productStatesMetaData.stream().filter(pt -> pt.getType() ==
ProductStateMetaData.Type.ELC).collect(Collectors.toSet());
return productStateMetaDataSet;
}
public void setProductStatesMetaData(Set<ProductStateMetaData> productStatesMetaData) {
this.productStatesMetaData = productStatesMetaData;
}
public Set<OrderStateMetaData> getOrderStatesMetaData() {
return orderStatesMetaData;
}
public Set<OrderStateMetaData> getElcOrderStateMetaData() {
Set<OrderStateMetaData> productStateMetaDataSet = orderStatesMetaData.stream().filter(pt -> pt.getType() ==
OrderStateMetaData.Type.ELC).collect(Collectors.toSet());
return productStateMetaDataSet;
}
public Set<OrderStateMetaData> getFullOrderStateMetaData() {
Set<OrderStateMetaData> productStateMetaDataSet = orderStatesMetaData.stream().filter(pt -> pt.getType() ==
OrderStateMetaData.Type.FULL).collect(Collectors.toSet());
return productStateMetaDataSet;
}
public void setOrderStatesMetaData(Set<OrderStateMetaData> orderStatesMetaData) {
this.orderStatesMetaData = orderStatesMetaData;
}
public Set<ConsignmentStateMetaData> getConsignmentStatesMetaData() {
return consignmentStatesMetaData;
}
public void setConsignmentStatesMetaData(Set<ConsignmentStateMetaData> consignmentStatesMetaData) {
this.consignmentStatesMetaData = consignmentStatesMetaData;
}
public Set<ShipmentStateMetaData> getShipmentStatesMetaData() {
return shipmentStatesMetaData;
}
public void setShipmentStatesMetaData(Set<ShipmentStateMetaData> shipmentStatesMetaData) {
this.shipmentStatesMetaData = shipmentStatesMetaData;
}
public Set<ExportShipmentStateMetaData> getExportShipmentStatesMetaData() {
return exportShipmentStatesMetaData;
}
public void setExportShipmentStatesMetaData(Set<ExportShipmentStateMetaData> shipmentStatesMetaData) {
this.exportShipmentStatesMetaData = shipmentStatesMetaData;
}
public Set<CommercialInvoiceStateMetaData> getCommercialInvoiceStateMetaData() {
return commercialInvoiceStateMetaData;
}
public void setCommercialInvoiceStateMetaData(Set<CommercialInvoiceStateMetaData> commercialInvoiceStateMetaData) {
this.commercialInvoiceStateMetaData = commercialInvoiceStateMetaData;
}
public Set<ServiceProviderInvoiceStateMetaData> getServiceProviderInvoiceStateMetaData() {
return serviceProviderInvoiceStateMetaData;
}
public void setServiceProviderInvoiceStateMetaData(Set<ServiceProviderInvoiceStateMetaData> serviceProviderInvoiceStateMetaData) {
this.serviceProviderInvoiceStateMetaData = serviceProviderInvoiceStateMetaData;
}
public Set<CommercialCreditNoteStateMetaData> getCommercialCreditNoteStateMetaData() {
return commercialCreditNoteStateMetaData;
}
public void setCommercialCreditNoteStateMetaData(Set<CommercialCreditNoteStateMetaData> commercialCreditNoteStateMetaData) {
this.commercialCreditNoteStateMetaData = commercialCreditNoteStateMetaData;
}
public Set<ServiceProviderCreditNoteStateMetaData> getServiceProviderCreditNoteStateMetaData() {
return serviceProviderCreditNoteStateMetaData;
}
public void setServiceProviderCreditNoteStateMetaData(Set<ServiceProviderCreditNoteStateMetaData> serviceProviderCreditNoteStateMetaData) {
this.serviceProviderCreditNoteStateMetaData = serviceProviderCreditNoteStateMetaData;
}
public Set<ContainerStateMetaData> getContainerStatesMetaData() {
return containerStatesMetaData;
}
public void setContainerStatesMetaData(Set<ContainerStateMetaData> containerStatesMetaData) {
this.containerStatesMetaData = containerStatesMetaData;
}
public Set<CartonStateMetaData> getCartonStateMetaData() {
return cartonStateMetaData;
}
public void setCartonStateMetaData(Set<CartonStateMetaData> cartonStateMetaData) {
this.cartonStateMetaData = cartonStateMetaData;
}
}