ProductClientConfig.java

package com.tradecloud.domain.configuration.product;

import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.configuration.orderintegration.ProductIntegrationProperties;
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.XmlRootElement;

/**
 * Created by ds on 4/14/16.
 */
@Entity
@Table(name = "productclientconfig")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ProductClientConfig")
public class ProductClientConfig extends PersistenceBase {

    @OneToOne(cascade = CascadeType.ALL)
    @ForeignKey(name = "fk_importproductvalidationproperties")
    private ProductValidationProperties importProductValidationProperties;

    @OneToOne(cascade = CascadeType.ALL)
    @ForeignKey(name = "fk_exportproductvalidationproperties")
    private ProductValidationProperties exportProductValidationProperties;

    private boolean exportProductIgnoreIntegrationUpdates;

    private boolean importProductIgnoreIntegrationUpdates;

    private boolean setProductAsImportAndExport;

    @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    private ProductIntegrationProperties productIntegrationProperties;

    private boolean homologationStatus;
    private boolean homologationValidation;

    public boolean isImportProductIgnoreIntegrationUpdates() {
        return importProductIgnoreIntegrationUpdates;
    }

    public void setImportProductIgnoreIntegrationUpdates(boolean importProductIgnoreIntegrationUpdates) {
        this.importProductIgnoreIntegrationUpdates = importProductIgnoreIntegrationUpdates;
    }

    public boolean isExportProductIgnoreIntegrationUpdates() {
        return exportProductIgnoreIntegrationUpdates;
    }

    public void setExportProductIgnoreIntegrationUpdates(boolean exportProductIgnoreIntegrationUpdates) {
        this.exportProductIgnoreIntegrationUpdates = exportProductIgnoreIntegrationUpdates;
    }

    public ProductValidationProperties getImportProductValidationProperties() {
        return importProductValidationProperties;
    }

    public void setImportProductValidationProperties(ProductValidationProperties importProductValidationProperties) {
        this.importProductValidationProperties = importProductValidationProperties;
    }

    public ProductValidationProperties getExportProductValidationProperties() {
        return exportProductValidationProperties;
    }

    public void setExportProductValidationProperties(ProductValidationProperties exportProductValidationProperties) {
        this.exportProductValidationProperties = exportProductValidationProperties;
    }

    public ProductIntegrationProperties getProductIntegrationProperties() {
        return productIntegrationProperties;
    }

    public void setProductIntegrationProperties(ProductIntegrationProperties productIntegrationProperties) {
        this.productIntegrationProperties = productIntegrationProperties;
    }

    public boolean isSetProductAsImportAndExport() {
        return setProductAsImportAndExport;
    }

    public void setSetProductAsImportAndExport(boolean setProductAsImportAndExport) {
        this.setProductAsImportAndExport = setProductAsImportAndExport;
    }

    public boolean isHomologationStatus() {
        return homologationStatus;
    }

    public void setHomologationStatus(boolean homologationStatus) {
        this.homologationStatus = homologationStatus;
    }

    public boolean isHomologationValidation() {
        return homologationValidation;
    }

    public void setHomologationValidation(boolean homologationValidation) {
        this.homologationValidation = homologationValidation;
    }
}