All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.dynamicreports.report.base.crosstab.DRCrosstabGroup Maven / Gradle / Ivy

Go to download

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.

The newest version!
/*
 * DynamicReports - Free Java reporting library for creating reports dynamically
 *
 * Copyright (C) 2010 - 2018 Ricardo Mariaca and the Dynamic Reports Contributors
 *
 * 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 org.apache.commons.lang3.Validate;

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.constant.TextAdjust;
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;

/**
 * 

Abstract DRCrosstabGroup class.

* * @author Ricardo Mariaca, Jan Moxter * */ public abstract class DRCrosstabGroup implements DRICrosstabGroup { private static final long serialVersionUID = Constants.SERIAL_VERSION_UID; private final String name; private String headerPattern; private HorizontalTextAlignment headerHorizontalTextAlignment; private DRIValueFormatter headerValueFormatter; private Boolean headerStretchWithOverflow; private TextAdjust headerTextAdjust; private DRHyperLink headerHyperLink; private DRIReportStyle headerStyle; private List headerPropertyExpressions; private Boolean showTotal; private CrosstabTotalPosition totalPosition; private DRIExpression totalHeaderExpression; private Boolean totalHeaderStretchWithOverflow; private TextAdjust totalHeaderTextAdjust; private DRIReportStyle totalHeaderStyle; private List totalHeaderPropertyExpressions; private DRIExpression expression; private DRIDataType dataType; private DRIExpression> orderByExpression; private OrderType orderType; private DRIExpression> comparatorExpression; /** *

Constructor for DRCrosstabGroup.

*/ public DRCrosstabGroup() { this.name = ReportUtils.generateUniqueName("crosstabGroup"); headerPropertyExpressions = new ArrayList<>(); totalHeaderPropertyExpressions = new ArrayList<>(); } /** {@inheritDoc} */ @Override public String getName() { return name; } /** {@inheritDoc} */ @Override public String getHeaderPattern() { return headerPattern; } /** *

Setter for the field headerPattern.

* * @param headerPattern a {@link java.lang.String} object. */ public void setHeaderPattern(final String headerPattern) { this.headerPattern = headerPattern; } /** {@inheritDoc} */ @Override public HorizontalTextAlignment getHeaderHorizontalTextAlignment() { return headerHorizontalTextAlignment; } /** *

Setter for the field headerHorizontalTextAlignment.

* * @param headerHorizontalTextAlignment a {@link net.sf.dynamicreports.report.constant.HorizontalTextAlignment} object. */ public void setHeaderHorizontalTextAlignment(final HorizontalTextAlignment headerHorizontalTextAlignment) { this.headerHorizontalTextAlignment = headerHorizontalTextAlignment; } /** {@inheritDoc} */ @Override public DRIValueFormatter getHeaderValueFormatter() { return headerValueFormatter; } /** *

Setter for the field headerValueFormatter.

* * @param headerValueFormatter a {@link net.sf.dynamicreports.report.definition.expression.DRIValueFormatter} object. */ public void setHeaderValueFormatter(final DRIValueFormatter headerValueFormatter) { this.headerValueFormatter = headerValueFormatter; } /** {@inheritDoc} */ @Override public Boolean getHeaderStretchWithOverflow() { return headerStretchWithOverflow; } /** *

Setter for the field headerStretchWithOverflow.

* * @param headerStretchWithOverflow a {@link java.lang.Boolean} object. * @deprecated replaced by {@link #setHeaderTextAdjust(TextAdjust)} */ @Deprecated public void setHeaderStretchWithOverflow(final Boolean headerStretchWithOverflow) { this.headerStretchWithOverflow = headerStretchWithOverflow; } /** {@inheritDoc} */ @Override public TextAdjust getHeaderTextAdjust() { return this.headerTextAdjust; } /** *

Setter for the field setHeaderTextAdjust.

* * @param headerTextAdjust a {@link net.sf.dynamicreports.report.constant.TextAdjust} object. */ public void setHeaderTextAdjust(final TextAdjust headerTextAdjust) { this.headerTextAdjust = headerTextAdjust; } /** {@inheritDoc} */ @Override public DRHyperLink getHeaderHyperLink() { return headerHyperLink; } /** *

Setter for the field headerHyperLink.

* * @param headerHyperLink a {@link net.sf.dynamicreports.report.base.DRHyperLink} object. */ public void setHeaderHyperLink(final DRHyperLink headerHyperLink) { this.headerHyperLink = headerHyperLink; } /** {@inheritDoc} */ @Override public DRIReportStyle getHeaderStyle() { return headerStyle; } /** *

Setter for the field headerStyle.

* * @param headerStyle a {@link net.sf.dynamicreports.report.definition.style.DRIReportStyle} object. */ public void setHeaderStyle(final DRIReportStyle headerStyle) { this.headerStyle = headerStyle; } /** {@inheritDoc} */ @Override public List getHeaderPropertyExpressions() { return headerPropertyExpressions; } /** *

Setter for the field headerPropertyExpressions.

* * @param headerPropertyExpressions a {@link java.util.List} object. */ public void setHeaderPropertyExpressions(final List headerPropertyExpressions) { this.headerPropertyExpressions = headerPropertyExpressions; } /** *

addHeaderPropertyExpression.

* * @param headerPropertyExpression a {@link net.sf.dynamicreports.report.definition.expression.DRIPropertyExpression} object. */ public void addHeaderPropertyExpression(final DRIPropertyExpression headerPropertyExpression) { Validate.notNull(headerPropertyExpression, "headerPropertyExpression must not be null"); this.headerPropertyExpressions.add(headerPropertyExpression); } /** {@inheritDoc} */ @Override public Boolean getShowTotal() { return showTotal; } /** *

Setter for the field showTotal.

* * @param showTotal a {@link java.lang.Boolean} object. */ public void setShowTotal(final Boolean showTotal) { this.showTotal = showTotal; } /** {@inheritDoc} */ @Override public CrosstabTotalPosition getTotalPosition() { return totalPosition; } /** *

Setter for the field totalPosition.

* * @param totalPosition a {@link net.sf.dynamicreports.report.constant.CrosstabTotalPosition} object. */ public void setTotalPosition(final CrosstabTotalPosition totalPosition) { this.totalPosition = totalPosition; } /** {@inheritDoc} */ @Override public DRIExpression getTotalHeaderExpression() { return totalHeaderExpression; } /** *

Setter for the field totalHeaderExpression.

* * @param totalHeaderExpression a {@link net.sf.dynamicreports.report.definition.expression.DRIExpression} object. */ public void setTotalHeaderExpression(final DRIExpression totalHeaderExpression) { this.totalHeaderExpression = totalHeaderExpression; } /** {@inheritDoc} */ @Override public Boolean getTotalHeaderStretchWithOverflow() { return totalHeaderStretchWithOverflow; } /** *

Setter for the field totalHeaderStretchWithOverflow.

* * @param totalHeaderStretchWithOverflow a {@link java.lang.Boolean} object. * @deprecated replaced by {@link #setTotalHeaderTextAdjust(TextAdjust)} */ @Deprecated public void setTotalHeaderStretchWithOverflow(final Boolean totalHeaderStretchWithOverflow) { this.totalHeaderStretchWithOverflow = totalHeaderStretchWithOverflow; } /** {@inheritDoc} */ @Override public TextAdjust getTotalHeaderTextAdjust() { return this.totalHeaderTextAdjust; } /** *

Setter for the field totalHeaderTextAdjust.

* * @param headerTextAdjust a {@link net.sf.dynamicreports.report.constant.TextAdjust} object. */ public void setTotalHeaderTextAdjust(final TextAdjust headerTextAdjust) { this.totalHeaderTextAdjust = headerTextAdjust; } /** {@inheritDoc} */ @Override public DRIReportStyle getTotalHeaderStyle() { return totalHeaderStyle; } /** *

Setter for the field totalHeaderStyle.

* * @param totalHeaderStyle a {@link net.sf.dynamicreports.report.definition.style.DRIReportStyle} object. */ public void setTotalHeaderStyle(final DRIReportStyle totalHeaderStyle) { this.totalHeaderStyle = totalHeaderStyle; } /** {@inheritDoc} */ @Override public List getTotalHeaderPropertyExpressions() { return totalHeaderPropertyExpressions; } /** *

Setter for the field totalHeaderPropertyExpressions.

* * @param totalHeaderPropertyExpressions a {@link java.util.List} object. */ public void setTotalHeaderPropertyExpressions(final List totalHeaderPropertyExpressions) { this.totalHeaderPropertyExpressions = totalHeaderPropertyExpressions; } /** *

addTotalHeaderPropertyExpression.

* * @param totalHeaderPropertyExpression a {@link net.sf.dynamicreports.report.definition.expression.DRIPropertyExpression} object. */ public void addTotalHeaderPropertyExpression(final DRIPropertyExpression totalHeaderPropertyExpression) { Validate.notNull(totalHeaderPropertyExpression, "totalHeaderPropertyExpression must not be null"); this.totalHeaderPropertyExpressions.add(totalHeaderPropertyExpression); } /** {@inheritDoc} */ @Override public DRIExpression getExpression() { return expression; } /** *

Setter for the field expression.

* * @param expression a {@link net.sf.dynamicreports.report.definition.expression.DRIExpression} object. */ public void setExpression(final DRIExpression expression) { Validate.notNull(expression, "expression must not be null"); this.expression = expression; } /** {@inheritDoc} */ @Override public DRIDataType getDataType() { return dataType; } /** *

Setter for the field dataType.

* * @param dataType a {@link net.sf.dynamicreports.report.definition.datatype.DRIDataType} object. */ public void setDataType(final DRIDataType dataType) { this.dataType = dataType; } /** {@inheritDoc} */ @Override public DRIExpression> getOrderByExpression() { return orderByExpression; } /** *

Setter for the field orderByExpression.

* * @param orderByExpression a {@link net.sf.dynamicreports.report.definition.expression.DRIExpression} object. */ public void setOrderByExpression(final DRIExpression> orderByExpression) { this.orderByExpression = orderByExpression; } /** {@inheritDoc} */ @Override public OrderType getOrderType() { return orderType; } /** *

Setter for the field orderType.

* * @param orderType a {@link net.sf.dynamicreports.report.constant.OrderType} object. */ public void setOrderType(final OrderType orderType) { this.orderType = orderType; } /** {@inheritDoc} */ @Override public DRIExpression> getComparatorExpression() { return comparatorExpression; } /** *

Setter for the field comparatorExpression.

* * @param comparatorExpression a {@link net.sf.dynamicreports.report.definition.expression.DRIExpression} object. */ public void setComparatorExpression(final DRIExpression> comparatorExpression) { this.comparatorExpression = comparatorExpression; } /** {@inheritDoc} */ @Override public Class getValueClass() { return getExpression().getValueClass(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy