ReportMainConfig.java

package com.tradecloud.domain.configuration;

import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.configuration.report.ReportTemplate;

import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.ArrayList;
import java.util.List;

/**
 * Every Report configuration should come here.
 * Created by ds on 2016/01/18.
 */

@Entity
@Table(name = "reportmainconfig")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ReportMainConfig")
public class ReportMainConfig extends PersistenceBase {

    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
    @JoinColumn(name = "reportmainconfig_id")
    private List<ReportConfig> reportConfigs = new ArrayList<>();

    @OneToOne
    private ReportTemplate consignmentUnitPrice;

    @OneToOne
    private ReportTemplate consignmentSummary;

    @OneToOne
    private ReportTemplate shipmentUnitPrice;

    @OneToOne
    private ReportTemplate shipmentSummary;

    public List<ReportConfig> getReportConfigs() {
        return reportConfigs;
    }

    public void setReportConfigs(List<ReportConfig> reportConfigs) {
        this.reportConfigs = reportConfigs;
    }

    public ReportTemplate getConsignmentUnitPrice() {
        return consignmentUnitPrice;
    }

    public void setConsignmentUnitPrice(ReportTemplate consignmentUnitPrice) {
        this.consignmentUnitPrice = consignmentUnitPrice;
    }

    public ReportTemplate getConsignmentSummary() {
        return consignmentSummary;
    }

    public void setConsignmentSummary(ReportTemplate consignmentSummary) {
        this.consignmentSummary = consignmentSummary;
    }

    public ReportTemplate getShipmentUnitPrice() {
        return shipmentUnitPrice;
    }

    public void setShipmentUnitPrice(ReportTemplate shipmentUnitPrice) {
        this.shipmentUnitPrice = shipmentUnitPrice;
    }

    public ReportTemplate getShipmentSummary() {
        return shipmentSummary;
    }

    public void setShipmentSummary(ReportTemplate shipmentSummary) {
        this.shipmentSummary = shipmentSummary;
    }
}