first commit

This commit is contained in:
2025-07-28 13:56:49 +05:30
commit e9eb805edb
3438 changed files with 520990 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
package net.sf.jasperreports.engine.fill;
import java.util.HashSet;
import java.util.Set;
class JRDistinctCountExtendedIncrementer extends JRAbstractExtendedIncrementer {
private DistinctCountHolder lastHolder = new DistinctCountHolder();
public Object increment(JRCalculable variable, Object expressionValue, AbstractValueProvider valueProvider) {
DistinctCountHolder holder = (DistinctCountHolder)variable.getIncrementedValue();
if (holder == null) {
holder = this.lastHolder;
} else {
this.lastHolder = holder;
}
holder.addLastValue();
return new DistinctCountHolder(holder, expressionValue);
}
public Object combine(JRCalculable calculable1, JRCalculable calculable2, AbstractValueProvider valueProvider) {
Set distinctValues = new HashSet();
DistinctCountHolder holder1 = (DistinctCountHolder)calculable1.getValue();
if (holder1 != null) {
distinctValues.addAll(holder1.getDistinctValues());
if (holder1.getLastValue() != null)
distinctValues.add(holder1.getLastValue());
}
DistinctCountHolder holder2 = (DistinctCountHolder)calculable2.getValue();
if (holder2 != null) {
distinctValues.addAll(holder2.getDistinctValues());
if (holder2.getLastValue() != null)
distinctValues.add(holder2.getLastValue());
}
return new DistinctCountHolder(distinctValues);
}
public Object initialValue() {
return null;
}
}