net.sf.dynamicreports.report.builder.expression.ExpressionBuilders 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.builder.expression;
import java.awt.Image;
import java.io.InputStream;
import java.net.URL;
import java.util.Collection;
import java.util.Date;
import java.util.Map;
import net.sf.dynamicreports.report.builder.crosstab.AbstractCrosstabGroupBuilder;
import net.sf.dynamicreports.report.builder.crosstab.CrosstabColumnGroupBuilder;
import net.sf.dynamicreports.report.builder.crosstab.CrosstabMeasureBuilder;
import net.sf.dynamicreports.report.builder.crosstab.CrosstabRowGroupBuilder;
import net.sf.dynamicreports.report.builder.group.GroupBuilder;
import net.sf.dynamicreports.report.definition.DRICrosstabValue;
import net.sf.dynamicreports.report.definition.expression.DRIExpression;
import net.sf.dynamicreports.report.definition.expression.DRISimpleExpression;
import net.sf.jasperreports.engine.JRDataSource;
/**
* A set of build in expressions.
* Expressions are used to define various calculations, conditions, text field content, specific report groups, etc.
*
* @author Ricardo Mariaca ([email protected])
*/
public class ExpressionBuilders {
public PrintInFirstPageExpression printInFirstPage() {
return Expressions.printInFirstPage();
}
public PrintNotInFirstPageExpression printNotInFirstPage() {
return Expressions.printNotInFirstPage();
}
public PrintWhenGroupHasMoreThanOneRowExpression printWhenGroupHasMoreThanOneRow(String groupName) {
return Expressions.printWhenGroupHasMoreThanOneRow(groupName);
}
public PrintWhenGroupHasMoreThanOneRowExpression printWhenGroupHasMoreThanOneRow(GroupBuilder group) {
return Expressions.printWhenGroupHasMoreThanOneRow(group);
}
public ReportRowNumberExpression reportRowNumber() {
return Expressions.reportRowNumber();
}
public PageRowNumberExpression pageRowNumber() {
return Expressions.pageRowNumber();
}
public ColumnRowNumberExpression columnRowNumber() {
return Expressions.columnRowNumber();
}
public PageNumberExpression pageNumber() {
return Expressions.pageNumber();
}
public ColumnNumberExpression columnNumber() {
return Expressions.columnNumber();
}
public GroupRowNumberExpression groupRowNumber(String groupName) {
return Expressions.groupRowNumber(groupName);
}
public GroupRowNumberExpression groupRowNumber(GroupBuilder group) {
return Expressions.groupRowNumber(group);
}
public ValueExpression date(Date date) {
return Expressions.date(date);
}
public ValueExpression number(Number number) {
return Expressions.number(number);
}
public ValueExpression image(Image image) {
return Expressions.image(image);
}
public ValueExpression inputStream(InputStream inputStream) {
return Expressions.inputStream(inputStream);
}
public ValueExpression url(URL url) {
return Expressions.url(url);
}
public ValueExpression value(T value) {
return Expressions.value(value);
}
public ValueExpression value(T value, Class valueClass) {
return Expressions.value(value, valueClass);
}
public ValueExpression text(String text) {
return Expressions.text(text);
}
public DataSourceExpression dataSource(JRDataSource dataSource) {
return Expressions.dataSource(dataSource);
}
public MessageExpression message(String key) {
return Expressions.message(key);
}
public MessageExpression message(String key, Object[] arguments) {
return Expressions.message(key, arguments);
}
//jasper
/**
* Creates a new jasper string expression, useful only for showing a static text.
* This method escapes the characters in a {@code String} using Java String rules.
*
* @param text text to be shown
* @return the expression
*/
public JasperExpression jasperSyntaxText(String text) {
return Expressions.jasperSyntaxText(text);
}
/**
* Creates a new jasper expression.
* This expression allows declaring an expression in a Jasper native syntax. Knowledge of the jasper syntax is also required for proper use.
*
* @param expression the jasper expression
* @param valueClass the expression class
* @return the expression
*/
public JasperExpression jasperSyntax(String expression, Class valueClass) {
return Expressions.jasperSyntax(expression, valueClass);
}
/**
* Creates a new jasper expression.
* This expression allows declaring an expression in a Jasper native syntax. Knowledge of the jasper syntax is also required for proper use.
*
* @param expression the jasper expression
* @return the expression
*/
@SuppressWarnings("rawtypes")
public JasperExpression jasperSyntax(String expression) {
return Expressions.jasperSyntax(expression);
}
//property
public PropertyExpression property(String name, DRISimpleExpression valueExpression) {
return Expressions.property(name, valueExpression);
}
public PropertyExpression property(String name, String value) {
return Expressions.property(name, value);
}
//parameter
public ParameterExpression parameter(String name, DRISimpleExpression valueExpression) {
return Expressions.parameter(name, valueExpression);
}
public ParameterExpression parameter(String name, Object value) {
return Expressions.parameter(name, value);
}
public PrintInOddRowExpression printInOddRow() {
return Expressions.printInOddRow();
}
public PrintInEvenRowExpression printInEvenRow() {
return Expressions.printInEvenRow();
}
//subdatasource
public BeanCollectionSubDatasourceExpression subDatasourceBeanCollection(String fieldName) {
return Expressions.subDatasourceBeanCollection(fieldName);
}
public BeanCollectionSubDatasourceExpression subDatasourceBeanCollection(DRIExpression> expression) {
return Expressions.subDatasourceBeanCollection(expression);
}
public BeanArraySubDatasourceExpression subDatasourceBeanArray(String fieldName) {
return Expressions.subDatasourceBeanArray(fieldName);
}
public BeanArraySubDatasourceExpression subDatasourceBeanArray(DRIExpression expression) {
return Expressions.subDatasourceBeanArray(expression);
}
public MapCollectionSubDatasourceExpression subDatasourceMapCollection(String fieldName) {
return Expressions.subDatasourceMapCollection(fieldName);
}
public MapCollectionSubDatasourceExpression subDatasourceMapCollection(DRIExpression>> expression) {
return Expressions.subDatasourceMapCollection(expression);
}
public MapArraySubDatasourceExpression subDatasourceMapArray(String fieldName) {
return Expressions.subDatasourceMapArray(fieldName);
}
public MapArraySubDatasourceExpression subDatasourceMapArray(DRIExpression expression) {
return Expressions.subDatasourceMapArray(expression);
}
//crosstab
public OrderByExpression orderBy(CrosstabMeasureBuilder> measure) {
return Expressions.orderBy(measure);
}
public CrosstabValueExpression crosstabValue(AbstractCrosstabGroupBuilder group) {
return Expressions.crosstabValue(group);
}
public CrosstabValueExpression crosstabValue(DRICrosstabValue measure) {
return Expressions.crosstabValue(measure);
}
public CrosstabValueExpression crosstabValue(DRICrosstabValue measure, AbstractCrosstabGroupBuilder group) {
return Expressions.crosstabValue(measure, group);
}
public CrosstabValueExpression crosstabValue(DRICrosstabValue measure, CrosstabRowGroupBuilder rowGroup, CrosstabColumnGroupBuilder columnGroup) {
return Expressions.crosstabValue(measure, rowGroup, columnGroup);
}
}