net.sf.dynamicreports.design.transformation.ColumnGrid Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dynamicreports-core Show documentation
Show all versions of dynamicreports-core Show documentation
DynamicReports is an open source Java reporting library based on JasperReports. It allows to create dynamic report designs and it doesn't need a visual report designer.
You can very quickly create reports and produce documents that can be displayed, printed or exported into many popular formats such as PDF, Excel, Word and others.
/**
* DynamicReports - Free Java reporting library for creating reports dynamically
*
* Copyright (C) 2010 - 2016 Ricardo Mariaca
* http://www.dynamicreports.org
*
* This file is part of DynamicReports.
*
* DynamicReports is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* DynamicReports is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with DynamicReports. If not, see .
*/
package net.sf.dynamicreports.design.transformation;
import java.util.HashMap;
import java.util.Map;
import net.sf.dynamicreports.design.base.component.DRDesignComponent;
import net.sf.dynamicreports.design.base.component.DRDesignList;
import net.sf.dynamicreports.report.constant.HorizontalCellComponentAlignment;
import net.sf.dynamicreports.report.constant.VerticalCellComponentAlignment;
import net.sf.dynamicreports.report.definition.column.DRIColumn;
/**
* @author Ricardo Mariaca ([email protected])
*/
class ColumnGrid {
private DRDesignList list;
private Map, DRDesignList> columnsLists;
private boolean isEmpty;
public ColumnGrid() {
columnsLists = new HashMap, DRDesignList>();
isEmpty = true;
}
public void addList(DRIColumn column, DRDesignList list) {
columnsLists.put(column, list);
}
public void addComponent(DRIColumn column, DRDesignComponent component) {
if (columnsLists.containsKey(column)) {
columnsLists.get(column).addComponent(component);
}
}
public void addComponent(DRIColumn column, HorizontalCellComponentAlignment horizontalAlignment, VerticalCellComponentAlignment verticalAlignment, DRDesignComponent component) {
if (columnsLists.containsKey(column)) {
columnsLists.get(column).addComponent(horizontalAlignment, verticalAlignment, component);
}
}
public void setList(DRDesignList list) {
this.list = list;
}
public DRDesignList getList() {
return list;
}
public boolean isEmpty() {
for (DRDesignList list : columnsLists.values()) {
if (!list.isEmpty()) {
return false;
}
}
return isEmpty;
}
public void setEmpty(boolean isEmpty) {
this.isEmpty = isEmpty;
}
}