package com.constellio.app.modules.rm.reports.model.administration.plan;
import static com.constellio.app.ui.i18n.i18n.$;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.constellio.app.modules.rm.wrappers.AdministrativeUnit;
import com.constellio.data.io.streamFactories.StreamFactory;
public class ClassificationPlanReportModel {
private boolean detailed = false;
private boolean isByAdministrativeUnit = false;
private StreamFactory<InputStream> headerLogo;
private List<ClassificationPlanReportModel_Category> rootCategories = new ArrayList<>();
List<ClassificationPlanReportModel_Category> categories = new ArrayList<ClassificationPlanReportModel_Category>();
Map<AdministrativeUnit, List<ClassificationPlanReportModel_Category>> adminUnitRulesMap = new HashMap();
public StreamFactory<InputStream> getHeaderLogo() {
return headerLogo;
}
public ClassificationPlanReportModel setHeaderLogo(StreamFactory<InputStream> headerLogo) {
this.headerLogo = headerLogo;
return this;
}
public List<ClassificationPlanReportModel_Category> getRootCategories() {
return rootCategories;
}
public ClassificationPlanReportModel setRootCategories(List<ClassificationPlanReportModel_Category> rootCategories) {
this.rootCategories = rootCategories;
return this;
}
public void setCategoriesByAdministrativeUnit(
Map<AdministrativeUnit, List<ClassificationPlanReportModel_Category>> rulesByAdministrativeUnit) {
this.adminUnitRulesMap = rulesByAdministrativeUnit;
}
public Map<AdministrativeUnit, List<ClassificationPlanReportModel_Category>> getCategoriesByAdministrativeUnitMap() {
return adminUnitRulesMap;
}
public boolean isDetailed() {
return detailed;
}
public void setDetailed(boolean detailed) {
this.detailed = detailed;
}
public boolean isByAdministrativeUnit() {
return isByAdministrativeUnit;
}
public void setByAdministrativeUnit(boolean isByAdministrativeUnit) {
this.isByAdministrativeUnit = isByAdministrativeUnit;
}
public String getTitle() {
String title;
if (isByAdministrativeUnit()) {
title = "ClassificationPlanByAdministrativeUnitReport.Title";
} else if (isDetailed()) {
title = "ClassificationPlanDetailedReport.Title";
} else {
title = "ClassificationPlanReport.Title";
}
return $(title);
}
public static class ClassificationPlanReportModel_Category {
private String code;
private String label;
private String description;
private List<ClassificationPlanReportModel_Category> categories = new ArrayList<>();
private List<String> keywords = new ArrayList<>();
private List<String> rententionRules = new ArrayList<>();
public String getCode() {
return code;
}
public ClassificationPlanReportModel_Category setCode(String code) {
this.code = code;
return this;
}
public String getLabel() {
return label;
}
public ClassificationPlanReportModel_Category setLabel(String label) {
this.label = label;
return this;
}
public String getDescription() {
return description;
}
public ClassificationPlanReportModel_Category setDescription(String description) {
this.description = description;
return this;
}
public List<ClassificationPlanReportModel_Category> getCategories() {
return categories;
}
public ClassificationPlanReportModel_Category setCategories(List<ClassificationPlanReportModel_Category> categories) {
this.categories = categories;
return this;
}
public ClassificationPlanReportModel_Category setKeywords(List<String> keywords) {
this.keywords = keywords;
return this;
}
public List<String> getKeywords() {
return keywords;
}
public ClassificationPlanReportModel_Category setRetentionRules(List<String> rententionRules) {
this.rententionRules = rententionRules;
return this;
}
public List<String> getRetentionRules() {
return rententionRules;
}
}
}