Package net.sf.jasperreports.engine.fill
Class JRFillElement
- java.lang.Object
-
- net.sf.jasperreports.engine.fill.JRFillElement
-
- All Implemented Interfaces:
Cloneable
,DynamicPropertiesHolder
,JRFillCloneable
,JRChild
,JRCloneable
,JRCommonElement
,JRElement
,JRIdentifiable
,JRPropertiesHolder
,JRStyleContainer
,JRStyleSetter
,JRVisitable
- Direct Known Subclasses:
JRFillBreak
,JRFillChart
,JRFillComponentElement
,JRFillCrosstab
,JRFillFrame
,JRFillGenericElement
,JRFillGraphicElement
,JRFillSubreport
,JRFillTextElement
public abstract class JRFillElement extends Object implements JRElement, JRFillCloneable, JRStyleSetter, DynamicPropertiesHolder
- Author:
- Teodor Danciu (teodord@users.sourceforge.net)
-
-
Field Summary
-
Fields inherited from interface net.sf.jasperreports.engine.JRElement
PROPERTY_ELEMENT_TEMPLATE_POPULATE_STYLE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
JRFillElement(JRBaseFiller filler, JRElement element, JRFillObjectFactory factory)
private JRElement topElementInGroup; private JRElement bottomElementInGroup; /**protected
JRFillElement(JRFillElement element, JRFillCloneFactory factory)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addDependantElement(JRFillElement element)
protected void
addDynamicProperty(String name, JRExpression expression)
Object
clone()
Object
clone(JRElementGroup parentGroup)
JRElement
clone(JRElementGroup parentGroup, int y)
protected void
collectDelayedEvaluations()
protected void
collectDelayedEvaluations(JRExpression expression)
protected void
collectDelayedEvaluations(JRStyle style)
protected void
collectStyleDelayedEvaluations()
protected void
collectStyleProviderDelayedEvaluations()
protected abstract JRTemplateElement
createElementTemplate()
protected void
delayedEvaluate(JRRecordedValuesPrintElement printElement, JREvaluationTime evaluationTime, byte evaluation)
protected boolean
delayedEvaluationUpdatesTemplate()
protected abstract void
evaluate(byte evaluation)
Object
evaluateExpression(JRExpression expression, byte evaluation)
Evaluates an expression.protected void
evaluatePrintWhenExpression(byte evaluation)
protected void
evaluateProperties(byte evaluation)
protected void
evaluateStyle(byte evaluation)
protected abstract JRPrintElement
fill()
Color
getBackcolor()
protected JRFillBand
getBand()
static Integer
getBookmarkLevel(Object value)
protected int
getCollapsedHeightAbove()
protected int
getCollapsedHeightBelow()
JRFillElementContainer
getConditionalStylesContainer()
JRDefaultStyleProvider
getDefaultStyleProvider()
protected Collection<JRFillElement>
getDependantElements()
JRPropertiesMap
getDynamicProperties()
JRElementGroup
getElementGroup()
Indicates the logical group that the element belongs to.protected JROrigin
getElementOrigin()
protected JRTemplateElement
getElementTemplate()
protected JRPropertiesMap
getEvaluatedProperties()
protected EvaluationTimeEnum
getEvaluationTime()
protected JRFillField
getField(String fieldName)
JRBaseFiller
getFiller()
Color
getForecolor()
protected JRElement[]
getGroupElements()
int
getHeight()
protected JRStyle
getInitStyle()
String
getKey()
Returns the string value that uniquely identifies the element.ModeEnum
getMode()
Returns the element transparency mode.Color
getOwnBackcolor()
Color
getOwnForecolor()
ModeEnum
getOwnMode()
protected JRElement
getParent()
JRPropertiesHolder
getParentProperties()
Returns the parent properties holder, whose properties are used as defaults for this object.PositionTypeEnum
getPositionType()
Returns the position type for the elementint
getPrepareHeight()
JRExpression
getPrintWhenExpression()
Gets the expression that is evaluated in order to decide if the element should be displayed.String
getPrintWhenGroupChanges()
Returns the group for which an element with a printRepeatedValues attribute set to true will be redisplayed even if the value has not changed.JRPropertiesMap
getPropertiesMap()
Returns this object's properties map.JRPropertyExpression[]
getPropertyExpressions()
Returns the list of dynamic/expression-based properties for this report element.protected int
getRelativeY()
int
getStretchHeight()
StretchTypeEnum
getStretchType()
Indicates the stretch type for the elementJRStyle
getStyle()
Returns this object's style.JRExpression
getStyleExpression()
Gets the expression that is evaluated in order to obtain the runtime style name to be used for the element.String
getStyleNameReference()
Returns the name of an external style which is to be used by this object.protected StyleResolver
getStyleResolver()
protected JRTemplateElement
getTemplate(JRStyle style)
protected TimeZone
getTimeZone()
UUID
getUUID()
protected JRFillVariable
getVariable(String variableName)
int
getWidth()
int
getX()
Gets the the section relative horizontal offset of the element top left corner.int
getY()
Gets the the section relative vertical offset of the element top left corner.boolean
hasDynamicProperties()
boolean
hasDynamicProperty(String name)
boolean
hasProperties()
Checks whether the object has any properties.protected void
initDelayedEvaluationPrint(JRRecordedValuesPrintElement printElement)
protected void
initDelayedEvaluations()
protected void
initStyleProviders()
boolean
isAlreadyPrinted()
protected boolean
isAutoEvaluateNow()
protected boolean
isDelayedStyleEvaluation()
protected boolean
isEvaluateAuto()
protected boolean
isEvaluateNow()
boolean
isPrintInFirstWholeBand()
Returns true if an element with a printRepeatedValues attribute set to true will be redisplayed for every new page or column that is not an overflow from a previous page or column.boolean
isPrintRepeatedValues()
Specifies if the element value will be printed for every iteration, even if its value has not changed.boolean
isPrintWhenDetailOverflows()
If this is set to true, the element will be reprinted on the next page if the band does not fit in the current page.protected boolean
isPrintWhenExpressionNull()
protected boolean
isPrintWhenTrue()
boolean
isRemoveLineWhenBlank()
Returns true if the remaining blank space appearing when the value is not printed will be removed.protected boolean
isReprinted()
boolean
isToPrint()
protected boolean
isValueRepeating()
Decides whether the value for this element is repeating.protected void
moveDependantElements()
protected void
performDelayedEvaluation(JRPrintElement element, byte evaluation)
protected boolean
prepare(int availableHeight, boolean isOverflow)
protected void
registerTemplate(JRStyle style, JRTemplateElement template)
protected void
reset()
protected abstract void
resolveElement(JRPrintElement element, byte evaluation)
Resolves an element.protected void
resolveElement(JRPrintElement element, byte evaluation, JREvaluationTime evaluationTime)
Resolves an element.protected abstract void
rewind()
void
setAlreadyPrinted(boolean isAlreadyPrinted)
void
setBackcolor(Color backcolor)
protected void
setBand(JRFillBand band)
protected void
setCollapsedHeightAbove(int collapsedHeightAbove)
protected void
setCollapsedHeightBelow(int collapsedHeightBelow)
void
setConditionalStylesContainer(JRFillElementContainer conditionalStylesContainer)
protected void
setCurrentEvaluation(byte evaluation)
protected void
setExpressionEvaluator(JRFillExpressionEvaluator expressionEvaluator)
void
setForecolor(Color forecolor)
void
setHeight(int height)
void
setMode(ModeEnum mode)
Sets the element transparency mode.protected void
setOriginProvider(JROriginProvider originProvider)
void
setPositionType(PositionTypeEnum positionType)
Sets the position type for the element.protected void
setPrepareHeight(int prepareHeight)
Element height is calculated in two phases.void
setPrintInFirstWholeBand(boolean isPrint)
Specifies whether an element with a printRepeatedValues attribute set to true should be redisplayed for every new page or column that is not an overflow from a previous page or column.void
setPrintRepeatedValues(boolean isPrintRepeatedValues)
void
setPrintWhenDetailOverflows(boolean isPrint)
If this is set to true, the element will be reprinted on the next page if the band does not fit in the current page.protected void
setPrintWhenExpressionNull(boolean isPrintWhenExpressionNull)
protected void
setPrintWhenTrue(boolean isPrintWhenTrue)
protected void
setRelativeY(int relativeY)
void
setRemoveLineWhenBlank(boolean isRemoveLine)
Specifies whether the remaining blank space appearing when the value is not printed will be removed.protected void
setReprinted(boolean isReprinted)
protected void
setShrinkable(boolean shrinkable)
Indicates whether an element is shrinkable.protected void
setStretchHeight(int stretchHeight)
void
setStretchType(StretchTypeEnum stretchType)
Specifies how the engine should treat a missing image.void
setStyle(JRStyle style)
Set the style on the object.void
setStyleNameReference(String name)
Set the name of an external style that is to be used by the object.protected void
setToPrint(boolean isToPrint)
protected void
setValueRepeating(boolean isValueRepeating)
Sets the repeating flag for this element.void
setWidth(int width)
void
setX(int x)
Sets the the section relative horizontal offset of the element top left corner.void
setY(int y)
protected boolean
stretchElement(int containerStretch)
protected boolean
stretchElementToContainer(int containerStretch)
protected boolean
stretchElementToElementGroup()
protected boolean
stretchElementToHeight(int stretchHeight)
This method returns a boolean signaling if any stretch change occurred.protected boolean
toPopulateTemplateStyle()
protected void
transferProperties(JRTemplateElement template)
protected void
transferProperties(JRPrintElement element)
-
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.JRElement
collectExpressions
-
Methods inherited from interface net.sf.jasperreports.engine.fill.JRFillCloneable
createClone
-
Methods inherited from interface net.sf.jasperreports.engine.JRStyleContainer
getStyleName
-
Methods inherited from interface net.sf.jasperreports.engine.JRVisitable
visit
-
-
-
-
Field Detail
-
EXCEPTION_MESSAGE_KEY_INVALID_BOOKMARK_LEVEL
public static final String EXCEPTION_MESSAGE_KEY_INVALID_BOOKMARK_LEVEL
- See Also:
- Constant Field Values
-
parent
protected JRElement parent
-
propertyExpressions
protected List<JRPropertyExpression> propertyExpressions
-
providerStyle
protected JRStyle providerStyle
-
templates
protected Map<JRStyle,JRTemplateElement> templates
-
styleProviders
protected List<StyleProvider> styleProviders
-
filler
protected JRBaseFiller filler
-
expressionEvaluator
protected JRFillExpressionEvaluator expressionEvaluator
-
defaultStyleProvider
protected JRDefaultStyleProvider defaultStyleProvider
-
printWhenGroupChanges
protected String printWhenGroupChanges
-
elementGroup
protected JRFillElementGroup elementGroup
-
band
protected JRFillBand band
-
originProvider
protected JROriginProvider originProvider
-
printElementOriginator
protected PrintElementOriginator printElementOriginator
-
currentEvaluation
protected byte currentEvaluation
-
delayedEvaluationsMap
protected Map<JREvaluationTime,net.sf.jasperreports.engine.fill.JRFillElement.DelayedEvaluations> delayedEvaluationsMap
-
conditionalStylesContainer
protected JRFillElementContainer conditionalStylesContainer
-
fillContainerContext
protected FillContainerContext fillContainerContext
-
initStyle
protected JRStyle initStyle
-
exprStyle
protected JRStyle exprStyle
-
currentStyle
protected JRStyle currentStyle
-
staticProperties
protected JRPropertiesMap staticProperties
-
staticTransferProperties
protected JRPropertiesMap staticTransferProperties
-
dynamicProperties
protected JRPropertiesMap dynamicProperties
-
mergedProperties
protected JRPropertiesMap mergedProperties
-
hasDynamicPopulateTemplateStyle
protected boolean hasDynamicPopulateTemplateStyle
-
defaultPopulateTemplateStyle
protected Boolean defaultPopulateTemplateStyle
-
-
Constructor Detail
-
JRFillElement
protected JRFillElement(JRBaseFiller filler, JRElement element, JRFillObjectFactory factory)
private JRElement topElementInGroup; private JRElement bottomElementInGroup; /**
-
JRFillElement
protected JRFillElement(JRFillElement element, JRFillCloneFactory factory)
-
-
Method Detail
-
getDefaultStyleProvider
public JRDefaultStyleProvider getDefaultStyleProvider()
- Specified by:
getDefaultStyleProvider
in interfaceJRStyleContainer
-
getStyleResolver
protected StyleResolver getStyleResolver()
-
getUUID
public UUID getUUID()
- Specified by:
getUUID
in interfaceJRIdentifiable
-
getKey
public String getKey()
Description copied from interface:JRCommonElement
Returns the string value that uniquely identifies the element.- Specified by:
getKey
in interfaceJRCommonElement
-
getPositionType
public PositionTypeEnum getPositionType()
Description copied from interface:JRElement
Returns the position type for the element- Specified by:
getPositionType
in interfaceJRElement
- Returns:
- the position type
-
setPositionType
public void setPositionType(PositionTypeEnum positionType)
Description copied from interface:JRElement
Sets the position type for the element.- Specified by:
setPositionType
in interfaceJRElement
- Parameters:
positionType
- the position type
-
getStretchType
public StretchTypeEnum getStretchType()
Description copied from interface:JRElement
Indicates the stretch type for the element- Specified by:
getStretchType
in interfaceJRElement
- Returns:
- a value representing one of the stretch type constants in
StretchTypeEnum
-
setStretchType
public void setStretchType(StretchTypeEnum stretchType)
Description copied from interface:JRElement
Specifies how the engine should treat a missing image.- Specified by:
setStretchType
in interfaceJRElement
- Parameters:
stretchType
- a value representing one of the stretch type constants inStretchTypeEnum
-
isPrintRepeatedValues
public boolean isPrintRepeatedValues()
Description copied from interface:JRElement
Specifies if the element value will be printed for every iteration, even if its value has not changed.- Specified by:
isPrintRepeatedValues
in interfaceJRElement
- See Also:
JRElement.isRemoveLineWhenBlank()
,JRElement.isPrintInFirstWholeBand()
-
setPrintRepeatedValues
public void setPrintRepeatedValues(boolean isPrintRepeatedValues)
- Specified by:
setPrintRepeatedValues
in interfaceJRElement
-
getMode
public ModeEnum getMode()
Description copied from interface:JRCommonElement
Returns the element transparency mode. The default value depends on the type of the report element. Graphic elements like rectangles and lines are opaque by default, but the images are transparent. Both static texts and text fields are transparent by default, and so are the subreport elements.- Specified by:
getMode
in interfaceJRCommonElement
-
getOwnMode
public ModeEnum getOwnMode()
- Specified by:
getOwnMode
in interfaceJRCommonElement
-
setMode
public void setMode(ModeEnum mode)
Description copied from interface:JRCommonElement
Sets the element transparency mode.- Specified by:
setMode
in interfaceJRCommonElement
-
getX
public int getX()
Description copied from interface:JRElement
Gets the the section relative horizontal offset of the element top left corner.
-
setX
public void setX(int x)
Description copied from interface:JRElement
Sets the the section relative horizontal offset of the element top left corner.
-
setY
public void setY(int y)
-
getY
public int getY()
Description copied from interface:JRElement
Gets the the section relative vertical offset of the element top left corner.
-
getWidth
public int getWidth()
- Specified by:
getWidth
in interfaceJRCommonElement
-
setHeight
public void setHeight(int height)
-
getHeight
public int getHeight()
- Specified by:
getHeight
in interfaceJRCommonElement
-
isRemoveLineWhenBlank
public boolean isRemoveLineWhenBlank()
Description copied from interface:JRElement
Returns true if the remaining blank space appearing when the value is not printed will be removed. Under certain circumstances (the element has an empty string as its value or contains a repeated value that is supressed) the space reserved for the current element remains empty. If this method returns true, it means the engine will try to suppress the blank line, but will only succeed if no other elements occupy the same vertical space.- Specified by:
isRemoveLineWhenBlank
in interfaceJRElement
-
setRemoveLineWhenBlank
public void setRemoveLineWhenBlank(boolean isRemoveLine)
Description copied from interface:JRElement
Specifies whether the remaining blank space appearing when the value is not printed will be removed. Under certain circumstances (the element has an empty string as its value or contains a repeated value that is supressed) the space reserved for the current element remains empty. If the parameter is set to true, it means the engine will try to suppress the blank line, but will only succeed if no other elements occupy the same vertical space.- Specified by:
setRemoveLineWhenBlank
in interfaceJRElement
-
isPrintInFirstWholeBand
public boolean isPrintInFirstWholeBand()
Description copied from interface:JRElement
Returns true if an element with a printRepeatedValues attribute set to true will be redisplayed for every new page or column that is not an overflow from a previous page or column.- Specified by:
isPrintInFirstWholeBand
in interfaceJRElement
- See Also:
JRElement.isPrintRepeatedValues()
-
setPrintInFirstWholeBand
public void setPrintInFirstWholeBand(boolean isPrint)
Description copied from interface:JRElement
Specifies whether an element with a printRepeatedValues attribute set to true should be redisplayed for every new page or column that is not an overflow from a previous page or column.- Specified by:
setPrintInFirstWholeBand
in interfaceJRElement
- See Also:
JRElement.isPrintRepeatedValues()
-
isPrintWhenDetailOverflows
public boolean isPrintWhenDetailOverflows()
Description copied from interface:JRElement
If this is set to true, the element will be reprinted on the next page if the band does not fit in the current page. Actually if there is at least one element with this attribute, the band is redisplayed from the beginning, except those elements that fitted in the current page and have isPrintWhenDetailOverflow set to false.- Specified by:
isPrintWhenDetailOverflows
in interfaceJRElement
-
setPrintWhenDetailOverflows
public void setPrintWhenDetailOverflows(boolean isPrint)
Description copied from interface:JRElement
If this is set to true, the element will be reprinted on the next page if the band does not fit in the current page. Actually if there is at least one element with this attribute, the band is redisplayed from the beginning, except those elements that fitted in the current page and have isPrintWhenDetailOverflow set to false.- Specified by:
setPrintWhenDetailOverflows
in interfaceJRElement
-
getForecolor
public Color getForecolor()
- Specified by:
getForecolor
in interfaceJRCommonElement
-
getOwnForecolor
public Color getOwnForecolor()
- Specified by:
getOwnForecolor
in interfaceJRCommonElement
-
setForecolor
public void setForecolor(Color forecolor)
- Specified by:
setForecolor
in interfaceJRCommonElement
-
getBackcolor
public Color getBackcolor()
- Specified by:
getBackcolor
in interfaceJRCommonElement
-
getOwnBackcolor
public Color getOwnBackcolor()
- Specified by:
getOwnBackcolor
in interfaceJRCommonElement
-
setBackcolor
public void setBackcolor(Color backcolor)
- Specified by:
setBackcolor
in interfaceJRCommonElement
-
getStyleExpression
public JRExpression getStyleExpression()
Description copied from interface:JRElement
Gets the expression that is evaluated in order to obtain the runtime style name to be used for the element. When used, this expression takes precedence over theJRStyleContainer.getStyle()
orJRStyleContainer.getStyleNameReference()
.- Specified by:
getStyleExpression
in interfaceJRElement
-
getPrintWhenExpression
public JRExpression getPrintWhenExpression()
Description copied from interface:JRElement
Gets the expression that is evaluated in order to decide if the element should be displayed. This expression always returns a boolean value.- Specified by:
getPrintWhenExpression
in interfaceJRElement
-
getPrintWhenGroupChanges
public String getPrintWhenGroupChanges()
Description copied from interface:JRElement
Returns the group for which an element with a printRepeatedValues attribute set to true will be redisplayed even if the value has not changed.- Specified by:
getPrintWhenGroupChanges
in interfaceJRElement
- See Also:
JRElement.isPrintRepeatedValues()
-
getElementGroup
public JRElementGroup getElementGroup()
Description copied from interface:JRElement
Indicates the logical group that the element belongs to. More elements can be grouped in order to make some of them stretch relative to the height of their parent group.- Specified by:
getElementGroup
in interfaceJRElement
- See Also:
StretchTypeEnum
-
isPrintWhenExpressionNull
protected boolean isPrintWhenExpressionNull()
-
setPrintWhenExpressionNull
protected void setPrintWhenExpressionNull(boolean isPrintWhenExpressionNull)
-
isPrintWhenTrue
protected boolean isPrintWhenTrue()
-
setPrintWhenTrue
protected void setPrintWhenTrue(boolean isPrintWhenTrue)
-
isToPrint
public boolean isToPrint()
-
setToPrint
protected void setToPrint(boolean isToPrint)
-
isReprinted
protected boolean isReprinted()
-
setReprinted
protected void setReprinted(boolean isReprinted)
-
isAlreadyPrinted
public boolean isAlreadyPrinted()
-
setAlreadyPrinted
public void setAlreadyPrinted(boolean isAlreadyPrinted)
-
getGroupElements
protected JRElement[] getGroupElements()
-
getDependantElements
protected Collection<JRFillElement> getDependantElements()
-
addDependantElement
protected void addDependantElement(JRFillElement element)
-
getRelativeY
protected int getRelativeY()
-
setRelativeY
protected void setRelativeY(int relativeY)
-
getCollapsedHeightAbove
protected int getCollapsedHeightAbove()
-
setCollapsedHeightAbove
protected void setCollapsedHeightAbove(int collapsedHeightAbove)
-
getCollapsedHeightBelow
protected int getCollapsedHeightBelow()
-
setCollapsedHeightBelow
protected void setCollapsedHeightBelow(int collapsedHeightBelow)
-
getStretchHeight
public int getStretchHeight()
-
setStretchHeight
protected void setStretchHeight(int stretchHeight)
-
getPrepareHeight
public int getPrepareHeight()
-
setPrepareHeight
protected void setPrepareHeight(int prepareHeight)
Element height is calculated in two phases. First, the element stretches on its own during prepare, to accommodate all its content. This is the natural stretch and we keep track of the calculated height in prepareHeight. Secondly, the element stretches further in accordance with its stretchType property. This forced stretch occurs at a later time and the amount of stretch is kept in stretchHeight.
-
getBand
protected JRFillBand getBand()
-
setBand
protected void setBand(JRFillBand band)
-
initStyleProviders
protected void initStyleProviders()
-
reset
protected void reset()
-
setCurrentEvaluation
protected void setCurrentEvaluation(byte evaluation)
-
evaluate
protected abstract void evaluate(byte evaluation) throws JRException
- Throws:
JRException
-
evaluateStyle
protected void evaluateStyle(byte evaluation) throws JRException
- Throws:
JRException
-
getTimeZone
protected TimeZone getTimeZone()
-
evaluatePrintWhenExpression
protected void evaluatePrintWhenExpression(byte evaluation) throws JRException
- Throws:
JRException
-
rewind
protected abstract void rewind() throws JRException
- Throws:
JRException
-
fill
protected abstract JRPrintElement fill() throws JRException
- Throws:
JRException
-
getElementTemplate
protected JRTemplateElement getElementTemplate()
-
createElementTemplate
protected abstract JRTemplateElement createElementTemplate()
-
toPopulateTemplateStyle
protected boolean toPopulateTemplateStyle()
-
prepare
protected boolean prepare(int availableHeight, boolean isOverflow) throws JRException
- Throws:
JRException
-
stretchElement
protected boolean stretchElement(int containerStretch)
-
stretchElementToContainer
protected boolean stretchElementToContainer(int containerStretch)
-
stretchElementToElementGroup
protected boolean stretchElementToElementGroup()
-
stretchElementToHeight
protected boolean stretchElementToHeight(int stretchHeight)
This method returns a boolean signaling if any stretch change occurred. It does not say which amount of stretch was applied, but that is OK, because the only place where this is checked is during frame cascading stretch, where the stretchHeight field of the frame (set here) is used directly.
-
moveDependantElements
protected void moveDependantElements()
-
resolveElement
protected abstract void resolveElement(JRPrintElement element, byte evaluation) throws JRException
Resolves an element.- Parameters:
element
- the elementevaluation
- the evaluation type- Throws:
JRException
-
performDelayedEvaluation
protected void performDelayedEvaluation(JRPrintElement element, byte evaluation) throws JRException
- Throws:
JRException
-
delayedEvaluationUpdatesTemplate
protected boolean delayedEvaluationUpdatesTemplate()
-
evaluateExpression
public final Object evaluateExpression(JRExpression expression, byte evaluation) throws JRException
Evaluates an expression.- Parameters:
expression
- the expressionevaluation
- the evaluation type- Returns:
- the evaluation result
- Throws:
JRException
-
isValueRepeating
protected boolean isValueRepeating()
Decides whether the value for this element is repeating.Dynamic elements should call
setValueRepeating(boolean)
onevaluate(byte)
. Static elements don't have to do anything, this method will returntrue
by default.- Returns:
- whether the value for this element is repeating
- See Also:
setValueRepeating(boolean)
-
setValueRepeating
protected void setValueRepeating(boolean isValueRepeating)
Sets the repeating flag for this element.This method should be called by dynamic elements on
evaluate(byte)
.- Parameters:
isValueRepeating
- whether the value of the element is repeating- See Also:
isValueRepeating()
-
getVariable
protected JRFillVariable getVariable(String variableName)
-
getField
protected JRFillField getField(String fieldName)
-
getEvaluationTime
protected EvaluationTimeEnum getEvaluationTime()
-
resolveElement
protected void resolveElement(JRPrintElement element, byte evaluation, JREvaluationTime evaluationTime) throws JRException
Resolves an element.- Parameters:
element
- the elementevaluation
- the evaluation typeevaluationTime
- the current evaluation time- Throws:
JRException
-
initDelayedEvaluations
protected void initDelayedEvaluations()
-
collectDelayedEvaluations
protected void collectDelayedEvaluations()
-
collectStyleDelayedEvaluations
protected void collectStyleDelayedEvaluations()
-
collectDelayedEvaluations
protected void collectDelayedEvaluations(JRStyle style)
-
collectDelayedEvaluations
protected void collectDelayedEvaluations(JRExpression expression)
-
collectStyleProviderDelayedEvaluations
protected void collectStyleProviderDelayedEvaluations()
-
initDelayedEvaluationPrint
protected void initDelayedEvaluationPrint(JRRecordedValuesPrintElement printElement) throws JRException
- Throws:
JRException
-
delayedEvaluate
protected void delayedEvaluate(JRRecordedValuesPrintElement printElement, JREvaluationTime evaluationTime, byte evaluation) throws JRException
- Throws:
JRException
-
setConditionalStylesContainer
public void setConditionalStylesContainer(JRFillElementContainer conditionalStylesContainer)
-
getConditionalStylesContainer
public JRFillElementContainer getConditionalStylesContainer()
-
getStyle
public JRStyle getStyle()
Description copied from interface:JRStyleContainer
Returns this object's style.- Specified by:
getStyle
in interfaceJRStyleContainer
- Returns:
- this object's style
-
getTemplate
protected JRTemplateElement getTemplate(JRStyle style)
-
registerTemplate
protected void registerTemplate(JRStyle style, JRTemplateElement template)
-
setShrinkable
protected final void setShrinkable(boolean shrinkable)
Indicates whether an element is shrinkable.This flag is only effective when
isRemoveLineWhenBlank
is also set.- Parameters:
shrinkable
- whether the element is shrinkable
-
isEvaluateNow
protected boolean isEvaluateNow()
-
isAutoEvaluateNow
protected boolean isAutoEvaluateNow()
-
isEvaluateAuto
protected boolean isEvaluateAuto()
-
getStyleNameReference
public String getStyleNameReference()
Description copied from interface:JRStyleContainer
Returns the name of an external style which is to be used by this object. External styles are defined intemplates
and are resolved at fill time. This attribute is only effective if no direct style (as returned bygetStyle()
is specified for this object.- Specified by:
getStyleNameReference
in interfaceJRStyleContainer
- Returns:
- the name of an external style
-
setStyle
public void setStyle(JRStyle style)
Description copied from interface:JRStyleSetter
Set the style on the object. In some cases, this method is invoked after the object has requested its style to be set.- Specified by:
setStyle
in interfaceJRStyleSetter
- Parameters:
style
- the style to be used by the object
-
setStyleNameReference
public void setStyleNameReference(String name)
Description copied from interface:JRStyleSetter
Set the name of an external style that is to be used by the object.- Specified by:
setStyleNameReference
in interfaceJRStyleSetter
- Parameters:
name
- the name of an external style
-
clone
public Object clone()
- Specified by:
clone
in interfaceJRCloneable
- Overrides:
clone
in classObject
-
clone
public Object clone(JRElementGroup parentGroup)
-
clone
public JRElement clone(JRElementGroup parentGroup, int y)
-
hasProperties
public boolean hasProperties()
Description copied from interface:JRPropertiesHolder
Checks whether the object has any properties.- Specified by:
hasProperties
in interfaceJRPropertiesHolder
- Returns:
- whether the object has any properties
-
getPropertiesMap
public JRPropertiesMap getPropertiesMap()
Description copied from interface:JRPropertiesHolder
Returns this object's properties map.- Specified by:
getPropertiesMap
in interfaceJRPropertiesHolder
- Returns:
- this object's properties map
-
getParentProperties
public JRPropertiesHolder getParentProperties()
Description copied from interface:JRPropertiesHolder
Returns the parent properties holder, whose properties are used as defaults for this object.- Specified by:
getParentProperties
in interfaceJRPropertiesHolder
- Returns:
- the parent properties holder, or
null
if no parent
-
getPropertyExpressions
public JRPropertyExpression[] getPropertyExpressions()
Description copied from interface:JRElement
Returns the list of dynamic/expression-based properties for this report element.- Specified by:
getPropertyExpressions
in interfaceJRElement
- Returns:
- an array containing the expression-based properties of this report element
-
transferProperties
protected void transferProperties(JRTemplateElement template)
-
transferProperties
protected void transferProperties(JRPrintElement element)
-
getEvaluatedProperties
protected JRPropertiesMap getEvaluatedProperties()
-
evaluateProperties
protected void evaluateProperties(byte evaluation) throws JRException
- Throws:
JRException
-
setOriginProvider
protected void setOriginProvider(JROriginProvider originProvider)
-
getElementOrigin
protected JROrigin getElementOrigin()
-
isDelayedStyleEvaluation
protected boolean isDelayedStyleEvaluation()
-
getFiller
public JRBaseFiller getFiller()
-
hasDynamicProperties
public boolean hasDynamicProperties()
- Specified by:
hasDynamicProperties
in interfaceDynamicPropertiesHolder
-
hasDynamicProperty
public boolean hasDynamicProperty(String name)
- Specified by:
hasDynamicProperty
in interfaceDynamicPropertiesHolder
-
getDynamicProperties
public JRPropertiesMap getDynamicProperties()
- Specified by:
getDynamicProperties
in interfaceDynamicPropertiesHolder
-
getInitStyle
protected JRStyle getInitStyle()
-
getParent
protected JRElement getParent()
-
addDynamicProperty
protected void addDynamicProperty(String name, JRExpression expression)
-
setExpressionEvaluator
protected void setExpressionEvaluator(JRFillExpressionEvaluator expressionEvaluator)
-
getBookmarkLevel
public static Integer getBookmarkLevel(Object value) throws JRException
- Throws:
JRException
-
-