package com.constellio.app.modules.rm.reports.model.administration.plan;
import com.constellio.data.io.streamFactories.StreamFactory;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import static com.constellio.app.ui.i18n.i18n.$;
/**
* Created by Charles Blanchette on 2017-02-20.
*/
public class AvailableSpaceReportModel {
public static final String UNIT = "cm";
private Boolean showFullSpaces;
private StreamFactory<InputStream> headerLogo;
private List<AvailableSpaceReportModelNode> rootNodes = new ArrayList<>();
List<AvailableSpaceReportModelNode> nodes = new ArrayList<AvailableSpaceReportModelNode>();
public StreamFactory<InputStream> getHeaderLogo() {
return headerLogo;
}
public AvailableSpaceReportModel setHeaderLogo(StreamFactory<InputStream> headerLogo) {
this.headerLogo = headerLogo;
return this;
}
public List<AvailableSpaceReportModelNode> getRootNodes() {
return rootNodes;
}
public AvailableSpaceReportModel setRootNodes(List<AvailableSpaceReportModelNode> rootNodes) {
this.rootNodes = rootNodes;
return this;
}
public boolean isShowFullSpaces() {
return showFullSpaces;
}
public void setShowFullSpaces(boolean showFullSpaces) {
this.showFullSpaces = showFullSpaces;
}
public String getTitle() {
return this.isShowFullSpaces() ? $("AvailableSpaceReport.All") : $("AvailableSpaceReport.Title");
}
public static class AvailableSpaceReportModelNode {
private String code;
private String title;
private double availableSpace;
private double capacity;
private String image;
private List<AvailableSpaceReportModelNode> childrenNodes = new ArrayList<>();
public String getCode() {
return code;
}
public AvailableSpaceReportModelNode setCode(String code) {
this.code = code;
return this;
}
public String getTitle() {
return title;
}
public AvailableSpaceReportModelNode setTitle(String title) {
this.title = title;
return this;
}
public List<AvailableSpaceReportModelNode> getChildrenNodes() {
return childrenNodes;
}
public AvailableSpaceReportModelNode setChildrenNodes(List<AvailableSpaceReportModelNode> childrenNodes) {
this.childrenNodes = childrenNodes;
return this;
}
public double getAvailableSpace() {
return availableSpace;
}
public AvailableSpaceReportModelNode setAvailableSpace(double availableSpace) {
this.availableSpace = availableSpace;
return this;
}
public double getCapacity() {
return capacity;
}
public AvailableSpaceReportModelNode setCapacity(double capacity) {
this.capacity = capacity;
return this;
}
public String getImage() {
return image;
}
public AvailableSpaceReportModelNode setImage(String image) {
this.image = image;
return this;
}
}
}