net.sf.dynamicreports.report.base.crosstab.DRCrosstabGroup 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.report.base.crosstab;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import net.sf.dynamicreports.report.ReportUtils;
import net.sf.dynamicreports.report.base.DRHyperLink;
import net.sf.dynamicreports.report.constant.Constants;
import net.sf.dynamicreports.report.constant.CrosstabTotalPosition;
import net.sf.dynamicreports.report.constant.HorizontalTextAlignment;
import net.sf.dynamicreports.report.constant.OrderType;
import net.sf.dynamicreports.report.definition.crosstab.DRICrosstabGroup;
import net.sf.dynamicreports.report.definition.datatype.DRIDataType;
import net.sf.dynamicreports.report.definition.expression.DRIExpression;
import net.sf.dynamicreports.report.definition.expression.DRIPropertyExpression;
import net.sf.dynamicreports.report.definition.expression.DRIValueFormatter;
import net.sf.dynamicreports.report.definition.style.DRIReportStyle;
import org.apache.commons.lang3.Validate;
/**
* @author Ricardo Mariaca ([email protected])
*/
public abstract class DRCrosstabGroup implements DRICrosstabGroup {
private static final long serialVersionUID = Constants.SERIAL_VERSION_UID;
private String name;
private String headerPattern;
private HorizontalTextAlignment headerHorizontalTextAlignment;
private DRIValueFormatter headerValueFormatter;
private Boolean headerStretchWithOverflow;
private DRHyperLink headerHyperLink;
private DRIReportStyle headerStyle;
private List headerPropertyExpressions;
private Boolean showTotal;
private CrosstabTotalPosition totalPosition;
private DRIExpression totalHeaderExpression;
private Boolean totalHeaderStretchWithOverflow;
private DRIReportStyle totalHeaderStyle;
private List totalHeaderPropertyExpressions;
private DRIExpression expression;
private DRIDataType dataType;
private DRIExpression> orderByExpression;
private OrderType orderType;
private DRIExpression> comparatorExpression;
public DRCrosstabGroup() {
this.name = ReportUtils.generateUniqueName("crosstabGroup");
headerPropertyExpressions = new ArrayList();
totalHeaderPropertyExpressions = new ArrayList();
}
@Override
public String getName() {
return name;
}
@Override
public String getHeaderPattern() {
return headerPattern;
}
public void setHeaderPattern(String headerPattern) {
this.headerPattern = headerPattern;
}
@Override
public HorizontalTextAlignment getHeaderHorizontalTextAlignment() {
return headerHorizontalTextAlignment;
}
public void setHeaderHorizontalTextAlignment(HorizontalTextAlignment headerHorizontalTextAlignment) {
this.headerHorizontalTextAlignment = headerHorizontalTextAlignment;
}
@Override
public DRIValueFormatter getHeaderValueFormatter() {
return headerValueFormatter;
}
public void setHeaderValueFormatter(DRIValueFormatter headerValueFormatter) {
this.headerValueFormatter = headerValueFormatter;
}
@Override
public Boolean getHeaderStretchWithOverflow() {
return headerStretchWithOverflow;
}
public void setHeaderStretchWithOverflow(Boolean headerStretchWithOverflow) {
this.headerStretchWithOverflow = headerStretchWithOverflow;
}
@Override
public DRHyperLink getHeaderHyperLink() {
return headerHyperLink;
}
public void setHeaderHyperLink(DRHyperLink headerHyperLink) {
this.headerHyperLink = headerHyperLink;
}
@Override
public DRIReportStyle getHeaderStyle() {
return headerStyle;
}
public void setHeaderStyle(DRIReportStyle headerStyle) {
this.headerStyle = headerStyle;
}
@Override
public List getHeaderPropertyExpressions() {
return headerPropertyExpressions;
}
public void addHeaderPropertyExpression(DRIPropertyExpression headerPropertyExpression) {
Validate.notNull(headerPropertyExpression, "headerPropertyExpression must not be null");
this.headerPropertyExpressions.add(headerPropertyExpression);
}
public void setHeaderPropertyExpressions(List headerPropertyExpressions) {
this.headerPropertyExpressions = headerPropertyExpressions;
}
@Override
public Boolean getShowTotal() {
return showTotal;
}
public void setShowTotal(Boolean showTotal) {
this.showTotal = showTotal;
}
@Override
public CrosstabTotalPosition getTotalPosition() {
return totalPosition;
}
public void setTotalPosition(CrosstabTotalPosition totalPosition) {
this.totalPosition = totalPosition;
}
@Override
public DRIExpression getTotalHeaderExpression() {
return totalHeaderExpression;
}
public void setTotalHeaderExpression(DRIExpression totalHeaderExpression) {
this.totalHeaderExpression = totalHeaderExpression;
}
@Override
public Boolean getTotalHeaderStretchWithOverflow() {
return totalHeaderStretchWithOverflow;
}
public void setTotalHeaderStretchWithOverflow(Boolean totalHeaderStretchWithOverflow) {
this.totalHeaderStretchWithOverflow = totalHeaderStretchWithOverflow;
}
@Override
public DRIReportStyle getTotalHeaderStyle() {
return totalHeaderStyle;
}
public void setTotalHeaderStyle(DRIReportStyle totalHeaderStyle) {
this.totalHeaderStyle = totalHeaderStyle;
}
@Override
public List getTotalHeaderPropertyExpressions() {
return totalHeaderPropertyExpressions;
}
public void addTotalHeaderPropertyExpression(DRIPropertyExpression totalHeaderPropertyExpression) {
Validate.notNull(totalHeaderPropertyExpression, "totalHeaderPropertyExpression must not be null");
this.totalHeaderPropertyExpressions.add(totalHeaderPropertyExpression);
}
public void setTotalHeaderPropertyExpressions(List totalHeaderPropertyExpressions) {
this.totalHeaderPropertyExpressions = totalHeaderPropertyExpressions;
}
@Override
public DRIExpression getExpression() {
return expression;
}
public void setExpression(DRIExpression expression) {
Validate.notNull(expression, "expression must not be null");
this.expression = expression;
}
@Override
public DRIDataType getDataType() {
return dataType;
}
public void setDataType(DRIDataType dataType) {
this.dataType = dataType;
}
@Override
public DRIExpression> getOrderByExpression() {
return orderByExpression;
}
public void setOrderByExpression(DRIExpression> orderByExpression) {
this.orderByExpression = orderByExpression;
}
@Override
public OrderType getOrderType() {
return orderType;
}
public void setOrderType(OrderType orderType) {
this.orderType = orderType;
}
@Override
public DRIExpression> getComparatorExpression() {
return comparatorExpression;
}
public void setComparatorExpression(DRIExpression> comparatorExpression) {
this.comparatorExpression = comparatorExpression;
}
@Override
public Class getValueClass() {
return getExpression().getValueClass();
}
}