Package net.sf.jasperreports.engine.fill
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 Summary
Fields Modifier and Type Field Description protected booleanatLeastOneElementIsToPrintprotected booleancurrentOverflowWithElementsprotected booleancurrentOverflowWithWhiteSpaceprotected JRFillElement[]deepElementsprotected Map<JRStyle,JRStyle>evaluatedStylesprotected JRFillExpressionEvaluatorexpressionEvaluatorprotected JRBaseFillerfillerprotected booleanhasPrintWhenOverflowElementprotected booleanisOverflowprotected Set<JRStyle>stylesToEvaluateprotected booleanwillOverflowWithElementsprotected booleanwillOverflowWithWhiteSpace-
Fields inherited from class net.sf.jasperreports.engine.fill.JRFillElementGroup
bottomElementInGroup, children, elementGroup, elements, topElementInGroup
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedJRFillElementContainer(JRBaseFiller filler, JRElementGroup container, JRFillObjectFactory factory)protectedJRFillElementContainer(JRFillElementContainer container, JRFillCloneFactory factory)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void_initElements()Deprecated.To be removed.protected void_prepareElements(int availableHeight, boolean isOverflowAllowed)Deprecated.To be removed.protected void_removeBlankElements()Deprecated.To be removed.protected void_setStretchHeight(int stretchHeight)Deprecated.To be removed.protected voidaddSubElements(JRPrintElementContainer printContainer, JRFillElement element, Collection<? extends JRPrintElement> printElements)protected booleanbuildConsolidatedStyle(JRStyle style, byte evaluation, StringBuilder code, List<JRStyle> condStylesToApply)protected intcalculateStretchHeight()protected voidcollectConditionalStyle(JRStyle style)protected voidevaluate(byte evaluation)protected JRStyleevaluateConditionalStyle(JRStyle initialStyle, byte evaluation)protected voidevaluateConditionalStyles(byte evaluation)voidfillElements(JRPrintElementContainer printContainer)Fills the elements from this container into a print element container.protected abstract intgetActualContainerHeight()Returns the actual height of the element container.protected abstract intgetContainerHeight()Returns the height of the element container.JRStylegetEvaluatedConditionalStyle(JRStyle parentStyle)protected intgetFirstY()protected intgetStretchHeight()protected voidinitConditionalStyles()Find all styles containing conditional styles which are referenced by elements in this band.protected voidinitDeepElements()protected voidinitElements()protected voidinitFill()booleanisCurrentOverflow()booleanisCurrentOverflowAllowed()booleanisLegacyElementStretchEnabled()protected voidmoveBandBottomElements()protected voidprepareElements(int availableHeight, boolean isOverflowAllowed)protected voidprepareStretchHeight(int availableHeight, boolean isOverflowAllowed)protected voidremoveBlankElements()protected voidresetElements()protected voidrewind()protected voidsetElementOriginProvider(JROriginProvider originProvider)protected voidsetStretchHeight(int stretchHeight)protected voidstretchElements()This method is deprecated and is going to be removed.protected voidstretchElementsToContainer()protected voidstretchElementsToElementGroup()booleanwillOverflow()Indicates whether the elements in this container will overflow.-
Methods inherited from class net.sf.jasperreports.engine.fill.JRFillElementGroup
clone, clone, createClone, getChildren, getElementByKey, getElementGroup, getElements, getStretchHeightDiff, reset, visit
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.jasperreports.engine.fill.FillContainerContext
isSplitTypePreventInhibited
-
-
-
-
Field Detail
-
filler
protected JRBaseFiller filler
-
willOverflowWithElements
protected boolean willOverflowWithElements
-
willOverflowWithWhiteSpace
protected boolean willOverflowWithWhiteSpace
-
isOverflow
protected boolean isOverflow
-
currentOverflowWithElements
protected boolean currentOverflowWithElements
-
currentOverflowWithWhiteSpace
protected boolean currentOverflowWithWhiteSpace
-
atLeastOneElementIsToPrint
protected boolean atLeastOneElementIsToPrint
-
expressionEvaluator
protected final JRFillExpressionEvaluator expressionEvaluator
-
deepElements
protected JRFillElement[] deepElements
-
hasPrintWhenOverflowElement
protected boolean hasPrintWhenOverflowElement
-
-
Constructor Detail
-
JRFillElementContainer
protected JRFillElementContainer(JRBaseFiller filler, JRElementGroup container, JRFillObjectFactory factory)
-
JRFillElementContainer
protected JRFillElementContainer(JRFillElementContainer container, JRFillCloneFactory factory)
-
-
Method Detail
-
initDeepElements
protected void initDeepElements()
-
_initElements
protected final void _initElements()
Deprecated.To be removed.
-
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 JRExceptionDeprecated.To be removed.- Throws:
JRException
-
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
-
isLegacyElementStretchEnabled
public boolean isLegacyElementStretchEnabled()
-
isCurrentOverflow
public boolean isCurrentOverflow()
- Specified by:
isCurrentOverflowin interfaceFillContainerContext
-
isCurrentOverflowAllowed
public boolean isCurrentOverflowAllowed()
- Specified by:
isCurrentOverflowAllowedin interfaceFillContainerContext
-
_setStretchHeight
protected void _setStretchHeight(int stretchHeight)
Deprecated.To be removed.
-
stretchElements
protected void stretchElements()
This method is deprecated and is going to be removed. Not marked as deprecated to avoid deprecation warnings.
-
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()
Deprecated.To be removed.
-
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
-
setElementOriginProvider
protected final void setElementOriginProvider(JROriginProvider originProvider)
-
-