SupplierStyle.java
package com.tradecloud.domain.model.requestforquote;
import com.tradecloud.common.base.PersistenceBase;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Entity
@Table(name = "SupplierStyle")
public class SupplierStyle extends PersistenceBase {
@ManyToOne
private RFQStyle rfqStyle;
@ManyToOne
private RFQOrganisationalUnitSupplier rfqOrganisationalUnitSupplier;
@XmlElementWrapper(name = "SupplierStyle")
@XmlElement(name = "SupplierStyle")
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
@JoinTable(name = "SupplierStyle_rfqproduct", joinColumns = {@JoinColumn(name = "SupplierStyle_id")},
inverseJoinColumns = {@JoinColumn(name = "rfqproduct_id")})
private List<RFQProduct> rfqProducts=new ArrayList<>();
public SupplierStyle() {
}
public SupplierStyle(RFQStyle rfqStyle, RFQOrganisationalUnitSupplier rfqOrganisationalUnitSupplier) {
this.rfqStyle = rfqStyle;
this.rfqOrganisationalUnitSupplier = rfqOrganisationalUnitSupplier;
}
public RFQStyle getRfqStyle() {
return rfqStyle;
}
public void setRfqStyle(RFQStyle rfqStyle) {
this.rfqStyle = rfqStyle;
}
public RFQOrganisationalUnitSupplier getRfqOrganisationalUnitSupplier() {
return rfqOrganisationalUnitSupplier;
}
public void setRfqOrganisationalUnitSupplier(RFQOrganisationalUnitSupplier rfqOrganisationalUnitSupplier) {
this.rfqOrganisationalUnitSupplier = rfqOrganisationalUnitSupplier;
}
public List<RFQProduct> getRfqProducts() {
return rfqProducts;
}
public void setRfqProducts(List<RFQProduct> rfqProducts) {
this.rfqProducts = rfqProducts;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
SupplierStyle that = (SupplierStyle) o;
return Objects.equals(rfqStyle, that.rfqStyle) && Objects.equals(rfqOrganisationalUnitSupplier, that.rfqOrganisationalUnitSupplier);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), rfqStyle, rfqOrganisationalUnitSupplier);
}
public boolean isProductLevel() {
return false;
}
public boolean isStyleLevel() {
return true;
}
public void addRfqProduct(RFQProduct rfqProduct1) {
rfqProduct1.setSupplierStyle(this);
this.getRfqProducts().add(rfqProduct1);
}
}