Class JRFillElementContainer

java.lang.Object
net.sf.jasperreports.engine.fill.JRFillElementGroup
net.sf.jasperreports.engine.fill.JRFillElementContainer
All Implemented Interfaces:
Cloneable, FillContainerContext, JRFillCloneable, JRChild, JRCloneable, JRElementGroup, JRVisitable
Direct Known Subclasses:
FillListContents, JRFillBand, JRFillCellContents, JRFillFrame.JRFillFrameElements

public abstract class JRFillElementContainer extends JRFillElementGroup implements FillContainerContext
Abstract implementation of an element container filler.

This is the base for band, frame and crosstab cell fillers.

Author:
Lucian Chirita (lucianc@users.sourceforge.net)
  • Field Details

    • filler

      protected JRBaseFiller filler
    • willOverflowWithElements

      protected boolean willOverflowWithElements
    • willOverflowWithWhiteSpace

      protected boolean willOverflowWithWhiteSpace
    • isOverflow

      protected boolean isOverflow
    • currentOverflowWithElements

      protected boolean currentOverflowWithElements
    • currentOverflowWithWhiteSpace

      protected boolean currentOverflowWithWhiteSpace
    • expressionEvaluator

      protected final JRFillExpressionEvaluator expressionEvaluator
    • deepElements

      protected JRFillElement[] deepElements
    • stylesToEvaluate

      protected Set<JRStyle> stylesToEvaluate
    • evaluatedStyles

      protected Map<JRStyle,JRStyle> evaluatedStyles
    • hasPrintWhenOverflowElement

      protected boolean hasPrintWhenOverflowElement
  • Constructor Details

  • Method Details

    • initDeepElements

      protected void initDeepElements()
    • initElements

      protected final void initElements()
    • evaluate

      protected void evaluate(byte evaluation) throws JRException
      Throws:
      JRException
    • resetElements

      protected void resetElements()
    • willOverflow

      public boolean willOverflow()
      Indicates whether the elements in this container will overflow.
      Returns:
      whether this container will overflow
    • initFill

      protected void initFill()
    • prepareElements

      protected void prepareElements(int availableHeight, boolean isOverflowAllowed) throws JRException
      Throws:
      JRException
    • prepareStretchHeight

      protected void prepareStretchHeight(int availableHeight, boolean isOverflowAllowed) throws JRException
      Throws:
      JRException
    • calculateStretchHeight

      protected int calculateStretchHeight() throws JRException
      Throws:
      JRException
    • isCurrentOverflow

      public boolean isCurrentOverflow()
      Specified by:
      isCurrentOverflow in interface FillContainerContext
    • isCurrentOverflowAllowed

      public boolean isCurrentOverflowAllowed()
      Specified by:
      isCurrentOverflowAllowed in interface FillContainerContext
    • setStretchHeight

      protected void setStretchHeight(int stretchHeight)
    • stretchElementsToElementGroup

      protected void stretchElementsToElementGroup()
    • stretchElementsToContainer

      protected void stretchElementsToContainer()
    • getStretchHeight

      protected int getStretchHeight()
    • moveBandBottomElements

      protected void moveBandBottomElements()
    • removeBlankElements

      protected void removeBlankElements()
    • fillElements

      public void fillElements(JRPrintElementContainer printContainer) throws JRException
      Fills the elements from this container into a print element container.
      Parameters:
      printContainer - the print element container
      Throws:
      JRException
    • addSubElements

      protected void addSubElements(JRPrintElementContainer printContainer, JRFillElement element, Collection<? extends JRPrintElement> printElements)
    • rewind

      protected void rewind() throws JRException
      Throws:
      JRException
    • getFirstY

      protected int getFirstY()
    • getActualContainerHeight

      protected abstract int getActualContainerHeight()
      Returns the actual height of the element container. Some element containers such as frames have a larger calculated container height, resulting from content being placed beyond container declared height.
      Returns:
      the height of the element container
    • getContainerHeight

      protected abstract int getContainerHeight()
      Returns the height of the element container.
      Returns:
      the height of the element container
    • initConditionalStyles

      protected void initConditionalStyles()
      Find all styles containing conditional styles which are referenced by elements in this band.
    • collectConditionalStyle

      protected void collectConditionalStyle(JRStyle style)
    • evaluateConditionalStyles

      protected void evaluateConditionalStyles(byte evaluation) throws JRException
      Throws:
      JRException
    • evaluateConditionalStyle

      protected JRStyle evaluateConditionalStyle(JRStyle initialStyle, byte evaluation) throws JRException
      Throws:
      JRException
    • buildConsolidatedStyle

      protected boolean buildConsolidatedStyle(JRStyle style, byte evaluation, StringBuilder code, List<JRStyle> condStylesToApply) throws JRException
      Throws:
      JRException
    • getEvaluatedConditionalStyle

      public JRStyle getEvaluatedConditionalStyle(JRStyle parentStyle)
    • setElementOriginProvider

      protected final void setElementOriginProvider(JROriginProvider originProvider)