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

net.sf.jasperreports.engine.type.CalculationEnum Maven / Gradle / Ivy

There is a newer version: 6.21.3
Show newest version
/*
 * JasperReports - Free Java Reporting Library.
 * Copyright (C) 2001 - 2019 TIBCO Software Inc. All rights reserved.
 * http://www.jaspersoft.com
 *
 * Unless you have purchased a commercial license agreement from Jaspersoft,
 * the following license terms apply:
 *
 * This program is part of JasperReports.
 *
 * JasperReports 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.
 *
 * JasperReports 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 JasperReports. If not, see .
 */
package net.sf.jasperreports.engine.type;


/**
 * @author Sanda Zaharia ([email protected])
 */
public enum CalculationEnum implements JREnum
{
	/**
	 * The value is calculated by simply evaluating the variable expression.
	 */
	NOTHING((byte)0, "Nothing"),
	
	/**
	 * The value is calculated by counting the non-null values of the variable expression with every iteration in the data source.
	 * The count variable must be numeric, but the variable expression needs not, since its value is not important.
	 * On the other hand, the initial value expression must be numeric since it will be the count variable initial value.
	 */
	COUNT((byte)1, "Count"),
	
	/**
	 * The value is calculated by summing up the values returned by the variable's expression. Both the main expression and initial
	 * expression must have numeric type.
	 *
	 */
	SUM((byte)2, "Sum"),
	
	/**
	 * The value is obtained by calculating the average for the series of values obtained by evaluating the variable's
	 * expression for each record in the data source. Both the main expression and initial expression must have numeric type.
	 * 

* In order to calculate the average, the engine creates behind the scenes a helper report variable that calculates * the sum of the values and uses it to calculate the average for those values. This helper sum variable gets its * name from the corresponding average variable suffixed with "_SUM" sequence. This helper variable can be used * in other report expressions just like any normal variable. */ AVERAGE((byte)3, "Average"), /** * The value of the variable represents the lowest in the series of values obtained by evaluating the variable's * expression for each data source record. */ LOWEST((byte)4, "Lowest"), /** * The value of the variable represents the highest in the series of values obtained by evaluating the variable's * expression for each data source record. */ HIGHEST((byte)5, "Highest"), /** * The value is obtained by calculating the standard deviation for the series of values returned by evaluating the * variable's expression. *

* Just like for the variables that calculate the average, the engine creates and uses helper report variables * for first obtaining the sum and the count that correspond to your current series of values. The name for * those helper variables that are created behind the scenes is obtained by suffixing the user variable with * the "_SUM" or "_COUNT" suffix and they can be used in other report expressions like any other report variable. *

* For variables that calculate the standard deviation, there is always a helper variable present, that first * calculates the variance for the series of values and it has the "_VARIANCE" suffix added to its name. */ STANDARD_DEVIATION((byte)6, "StandardDeviation"), /** * The value is obtained by calculating the variance for the series of values returned by evaluating the * variable's expression. */ VARIANCE((byte)7, "Variance"), /** * The value is not calculated by JasperReports. The user must calculate the value of the variable, almost * certainly using the scriptlets functionality. For this type of calculation, the only thing the engine does is * to conserve the value users have calculated, from one iteration in the data source to the next. */ SYSTEM((byte)8, "System"), /** * The variable keeps the first value and does not increment it on subsequent iterations. */ FIRST((byte)9, "First"), /** * The value is calculated by counting the distinct non-null values of the variable expression with every iteration in the data source. * The count variable must be numeric, but the variable expression needs not, since its value is not important. * On the other hand, the initial value expression must be numeric since it will be the count variable initial value. */ DISTINCT_COUNT((byte)10, "DistinctCount"); /** * */ private final transient byte value; private final transient String name; private CalculationEnum(byte value, String name) { this.value = value; this.name = name; } /** * @deprecated Used only by deprecated serialized fields. */ @Override public Byte getValueByte() { return value; } @Override @SuppressWarnings("deprecation") public final byte getValue() { return value; } @Override public String getName() { return name; } /** * */ public static CalculationEnum getByName(String name) { return EnumUtil.getEnumByName(values(), name); } /** * @deprecated Used only by deprecated serialized fields. */ public static CalculationEnum getByValue(Byte value) { return (CalculationEnum)EnumUtil.getByValue(values(), value); } /** * @deprecated Used only by deprecated serialized fields. */ public static CalculationEnum getByValue(byte value) { return getByValue((Byte)value); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy