ReportConfig.java

package com.tradecloud.domain.configuration;

import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnitTier;

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;

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

    private static final long serialVersionUID = 1L;

    private String reportName;

    private boolean active;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "reportConfig", fetch = FetchType.EAGER)
    private List<ReportConfigAttributes> reportConfigAttributes = new ArrayList<>();

    //will use report config attribute to show this
    @ManyToOne
    private OrganisationalUnitTier additionalOrgUnitTier;

    public String getReportName() {
        return reportName;
    }

    public void setReportName(String reportName) {
        this.reportName = reportName;
    }

    public boolean isActive() {
        return active;
    }

    public void setActive(boolean active) {
        this.active = active;
    }

    public List<ReportConfigAttributes> getReportConfigAttributes() {
        return reportConfigAttributes;
    }

    public void setReportConfigAttributes(List<ReportConfigAttributes> reportConfigAttributes) {
        this.reportConfigAttributes = reportConfigAttributes;
    }

    public OrganisationalUnitTier getAdditionalOrgUnitTier() {
        return additionalOrgUnitTier;
    }

    public void setAdditionalOrgUnitTier(OrganisationalUnitTier additionalOrgUnitTier) {
        this.additionalOrgUnitTier = additionalOrgUnitTier;
    }
}