{
throw new IllegalStateException();
}
boolean isPrintableContent = true;
final ReportElement text = (ReportElement) getNode();
// Tests we have to perform:
// 1. Print when group changes. We can know whether a group changed by
// looking at the newly introduced iteration counter.
//
// Whether we use the next one or the one after that depends on whether
// this element is a child of a group-header or group-footer.
if (text.isPrintWhenGroupChanges())
{
// if this is set to true, then we print the element only if this is the
// first occurrence in this group.
if (isGroupChanged() == false)
{
// Log.debug ("Group Change Condition");
isPrintableContent = false;
}
}
// 2. Print repeated values. This never applies to static text or static
// elements.
if (text.isPrintRepeatedValues() == false)
{
// If this is set to true, we evaluate the formula of the element and
// try to derive whether there was a change.
if (isValueChanged() == false)
{
// Log.debug ("Value Repeat Condition");
isPrintableContent = false;
}
}
// 3. Evaluate the Display Condition
final Expression dc = text.getDisplayCondition();
if (dc != null)
{
final Object o = LayoutControllerUtil.evaluateExpression
(getFlowController(), text, dc);
if (Boolean.FALSE.equals(o))