net.sf.jasperreports.engine.fill
Class JRFillImage

java.lang.Object
  extended by net.sf.jasperreports.engine.fill.JRFillElement
      extended by net.sf.jasperreports.engine.fill.JRFillGraphicElement
          extended by net.sf.jasperreports.engine.fill.JRFillImage
All Implemented Interfaces:
java.lang.Cloneable, JRFillCloneable, JRAlignment, JRAnchor, JRBoxContainer, JRChild, JRCloneable, JRCommonElement, JRCommonGraphicElement, JRCommonImage, JRElement, JRGraphicElement, JRHyperlink, JRIdentifiable, JRImage, JRPenContainer, JRPropertiesHolder, JRStyleContainer, JRStyleSetter, JRVisitable

public class JRFillImage
extends JRFillGraphicElement
implements JRImage

Version:
$Id: JRFillImage.java 5180 2012-03-29 13:23:12Z teodord $
Author:
Teodor Danciu (teodord@users.sourceforge.net)

Field Summary
protected  JRLineBox lineBox
           
 
Fields inherited from class net.sf.jasperreports.engine.fill.JRFillElement
band, conditionalStylesContainer, currentEvaluation, currentStyle, defaultStyleProvider, delayedEvaluationsMap, dynamicProperties, elementGroup, elementId, expressionEvaluator, filler, initStyle, mergedProperties, originProvider, parent, printWhenGroupChanges, staticProperties, templates
 
Fields inherited from interface net.sf.jasperreports.engine.JRAnchor
NO_BOOKMARK
 
Constructor Summary
protected JRFillImage(JRBaseFiller filler, JRImage image, JRFillObjectFactory factory)
           
protected JRFillImage(JRFillImage image, JRFillCloneFactory factory)
           
 
Method Summary
protected  void collectDelayedEvaluations()
           
 void collectExpressions(JRExpressionCollector collector)
           
protected  void copy(JRPrintImage printImage)
           
 JRFillCloneable createClone(JRFillCloneFactory factory)
          Creates a working clone of itself.
protected  JRTemplateElement createElementTemplate()
           
protected  void evaluate(byte evaluation)
           
protected  void evaluateImage(byte evaluation)
           
protected  JRPrintElement fill()
           
protected  boolean fitImage(int availableHeight, boolean overflowAllowed, HorizontalAlignEnum hAlign)
           
protected  java.lang.String getAnchorName()
           
 JRExpression getAnchorNameExpression()
          Returns an expression whose value represents the anchor name.
 int getBookmarkLevel()
          Returns the level of the bookmark corresponding to the anchor.
 JRGroup getEvaluationGroup()
          Gets the evaluation group for this text field.
 EvaluationTimeEnum getEvaluationTimeValue()
          Indicates the evaluation time for this image.
 JRExpression getExpression()
           
 HorizontalAlignEnum getHorizontalAlignmentValue()
          Gets the text horizontal alignment.
protected  java.lang.String getHyperlinkAnchor()
           
 JRExpression getHyperlinkAnchorExpression()
          Returns the expression whose value represents the anchor.
protected  java.lang.Integer getHyperlinkPage()
           
 JRExpression getHyperlinkPageExpression()
          Returns an integer representing the page index of the link.
 JRHyperlinkParameter[] getHyperlinkParameters()
          Returns the list of hyperlink parameters.
protected  java.lang.String getHyperlinkReference()
           
 JRExpression getHyperlinkReferenceExpression()
          Returns the expression whose value represents the hyperlink reference.
 byte getHyperlinkTarget()
          Retrieves the hyperlink target for the element.
protected  java.lang.String getHyperlinkTooltip()
           
 JRExpression getHyperlinkTooltipExpression()
          Returns the expression which will generate the hyperlink tooltip.
 byte getHyperlinkType()
          Deprecated. Replaced by getHyperlinkTypeValue().
 HyperlinkTypeEnum getHyperlinkTypeValue()
          Retrieves the hyperlink type for the element.
protected  JRTemplateImage getJRTemplateImage()
           
 JRLineBox getLineBox()
           
 java.lang.String getLinkTarget()
          Returns the hyperlink target name.
 java.lang.String getLinkType()
          Returns the hyperlink type.
 ModeEnum getModeValue()
          Returns the element transparency mode.
 OnErrorTypeEnum getOnErrorTypeValue()
          Indicates how the engine will treat a missing image.
 HorizontalAlignEnum getOwnHorizontalAlignmentValue()
           
 ScaleImageEnum getOwnScaleImageValue()
          Gets the image own scale type.
 VerticalAlignEnum getOwnVerticalAlignmentValue()
           
protected  Renderable getRenderable()
           
 ScaleImageEnum getScaleImageValue()
          Gets the image scale type.
 java.lang.Boolean getUsingCache()
          Indicates if the engine is loading the current image from cache.
 VerticalAlignEnum getVerticalAlignmentValue()
          Gets the text vertical alignment.
 boolean isLazy()
          Indicates if the images will be loaded lazily or not.
 java.lang.Boolean isOwnUsingCache()
          Deprecated. Replaced by getUsingCache().
 boolean isUsingCache()
          Deprecated. Replaced by getUsingCache().
protected  boolean prepare(int availableHeight, boolean isOverflow)
           
protected  void reset()
           
protected  void resolveElement(JRPrintElement element, byte evaluation)
          Resolves an element.
 void setHorizontalAlignment(HorizontalAlignEnum horizontalAlignment)
          Sets the text horizontal alignment.
 void setLazy(boolean isLazy)
          Gives control over when the images are retrieved from their specified location.
 void setOnErrorType(OnErrorTypeEnum onErrorType)
          Specifies how the engine should treat a missing image.
 void setScaleImage(ScaleImageEnum scaleImage)
          Sets the image scale type.
 void setUsingCache(boolean isUsingCache)
          Specifies if the engine should be loading the current image from cache.
 void setUsingCache(java.lang.Boolean isUsingCache)
          Specifies if the engine should be loading the current image from cache.
 void setVerticalAlignment(VerticalAlignEnum verticalAlignment)
          Gets the text vertical alignment.
 void visit(JRVisitor visitor)
           
 
Methods inherited from class net.sf.jasperreports.engine.fill.JRFillGraphicElement
getDefaultLineColor, getDefaultLineWidth, getFillValue, getLinePen, getOwnFillValue, rewind, setFill
 
Methods inherited from class net.sf.jasperreports.engine.fill.JRFillElement
addDependantElement, clone, clone, collectDelayedEvaluations, collectDelayedEvaluations, collectStyleDelayedEvaluations, delayedEvaluate, evaluateExpression, evaluatePrintWhenExpression, evaluateProperties, getBackcolor, getBand, getDefaultStyleProvider, getDependantElements, getElementGroup, getElementOrigin, getElementTemplate, getEvaluatedProperties, getField, getForecolor, getGroupElements, getHeight, getKey, getOwnBackcolor, getOwnForecolor, getOwnModeValue, getParentProperties, getPositionTypeValue, getPrintWhenExpression, getPrintWhenGroupChanges, getPropertiesMap, getPropertyExpressions, getRelativeY, getStretchHeight, getStretchTypeValue, getStyle, getStyleNameReference, getTemplate, getUUID, getVariable, getWidth, getX, getY, hasProperties, initDelayedEvaluationPrint, initDelayedEvaluations, isAlreadyPrinted, isAutoEvaluateNow, isDelayedStyleEvaluation, isEvaluateAuto, isEvaluateNow, isPrintInFirstWholeBand, isPrintRepeatedValues, isPrintWhenDetailOverflows, isPrintWhenExpressionNull, isPrintWhenTrue, isRemoveLineWhenBlank, isReprinted, isToPrint, isValueRepeating, moveDependantElements, performDelayedEvaluation, registerTemplate, resolveElement, setAlreadyPrinted, setBackcolor, setBand, setConditionalStylesContainer, setCurrentEvaluation, setForecolor, setHeight, setMode, setOriginProvider, setPositionType, setPrintInFirstWholeBand, setPrintRepeatedValues, setPrintWhenDetailOverflows, setPrintWhenExpressionNull, setPrintWhenTrue, setRelativeY, setRemoveLineWhenBlank, setReprinted, setShrinkable, setStretchHeight, setStretchType, setStyle, setStyleNameReference, setToPrint, setValueRepeating, setWidth, setX, setY, stretchElement, stretchHeightFinal, transferProperties, transferProperties
 
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
getElementGroup, getKey, getPositionTypeValue, getPrintWhenExpression, getPrintWhenGroupChanges, getPropertyExpressions, getStretchTypeValue, getX, getY, isPrintInFirstWholeBand, isPrintRepeatedValues, isPrintWhenDetailOverflows, isRemoveLineWhenBlank, setPositionType, setPrintInFirstWholeBand, setPrintRepeatedValues, setPrintWhenDetailOverflows, setRemoveLineWhenBlank, setStretchType, setWidth, setX
 
Methods inherited from interface net.sf.jasperreports.engine.JRChild
clone
 
Methods inherited from interface net.sf.jasperreports.engine.JRCloneable
clone
 
Methods inherited from interface net.sf.jasperreports.engine.JRPropertiesHolder
getParentProperties, getPropertiesMap, hasProperties
 
Methods inherited from interface net.sf.jasperreports.engine.JRCommonGraphicElement
getFillValue, getLinePen, getOwnFillValue, setFill
 
Methods inherited from interface net.sf.jasperreports.engine.JRCommonElement
getBackcolor, getForecolor, getHeight, getOwnBackcolor, getOwnForecolor, getOwnModeValue, getWidth, setBackcolor, setForecolor, setMode
 
Methods inherited from interface net.sf.jasperreports.engine.JRIdentifiable
getUUID
 
Methods inherited from interface net.sf.jasperreports.engine.JRPenContainer
getDefaultLineColor, getDefaultLineWidth
 
Methods inherited from interface net.sf.jasperreports.engine.JRStyleContainer
getDefaultStyleProvider, getStyle, getStyleNameReference
 
Methods inherited from interface net.sf.jasperreports.engine.JRBoxContainer
getDefaultLineColor
 

Field Detail

lineBox

protected final JRLineBox lineBox
Constructor Detail

JRFillImage

protected JRFillImage(JRBaseFiller filler,
                      JRImage image,
                      JRFillObjectFactory factory)

JRFillImage

protected JRFillImage(JRFillImage image,
                      JRFillCloneFactory factory)
Method Detail

getModeValue

public ModeEnum getModeValue()
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:
getModeValue in interface JRCommonElement
Overrides:
getModeValue in class JRFillElement

getScaleImageValue

public ScaleImageEnum getScaleImageValue()
Description copied from interface: JRCommonImage
Gets the image scale type.

Specified by:
getScaleImageValue in interface JRCommonImage
Returns:
a value representing one of the scale type constants in ScaleImageEnum

getOwnScaleImageValue

public ScaleImageEnum getOwnScaleImageValue()
Description copied from interface: JRCommonImage
Gets the image own scale type.

Specified by:
getOwnScaleImageValue in interface JRCommonImage
Returns:
a value representing one of the scale type constants in ScaleImageEnum

setScaleImage

public void setScaleImage(ScaleImageEnum scaleImage)
Description copied from interface: JRCommonImage
Sets the image scale type.

Specified by:
setScaleImage in interface JRCommonImage
Parameters:
scaleImage - a value representing one of the scale type constants in ScaleImageEnum

getHorizontalAlignmentValue

public HorizontalAlignEnum getHorizontalAlignmentValue()
Description copied from interface: JRAlignment
Gets the text horizontal alignment.

Specified by:
getHorizontalAlignmentValue in interface JRAlignment
Returns:
a value representing one of the horizontal alignment constants in HorizontalAlignEnum

getOwnHorizontalAlignmentValue

public HorizontalAlignEnum getOwnHorizontalAlignmentValue()
Specified by:
getOwnHorizontalAlignmentValue in interface JRAlignment

setHorizontalAlignment

public void setHorizontalAlignment(HorizontalAlignEnum horizontalAlignment)
Description copied from interface: JRAlignment
Sets the text horizontal alignment.

Specified by:
setHorizontalAlignment in interface JRAlignment
Parameters:
horizontalAlignment - a value representing one of the horizontal alignment constants in HorizontalAlignEnum

getVerticalAlignmentValue

public VerticalAlignEnum getVerticalAlignmentValue()
Description copied from interface: JRAlignment
Gets the text vertical alignment.

Specified by:
getVerticalAlignmentValue in interface JRAlignment
Returns:
a value representing one of the vertical alignment constants in VerticalAlignEnum

getOwnVerticalAlignmentValue

public VerticalAlignEnum getOwnVerticalAlignmentValue()
Specified by:
getOwnVerticalAlignmentValue in interface JRAlignment

setVerticalAlignment

public void setVerticalAlignment(VerticalAlignEnum verticalAlignment)
Description copied from interface: JRAlignment
Gets the text vertical alignment.

Specified by:
setVerticalAlignment in interface JRAlignment
Parameters:
verticalAlignment - a value representing one of the vertical alignment constants in VerticalAlignEnum

isUsingCache

public boolean isUsingCache()
Deprecated. Replaced by getUsingCache().

Description copied from interface: JRImage
Indicates if the engine is loading the current image from cache. Implementations of this method rely on default values that depend on the type of the image expression if a value was not explicitly set of this flag.

Specified by:
isUsingCache in interface JRImage
Returns:
true if the image should be loaded from cache, false otherwise

isOwnUsingCache

public java.lang.Boolean isOwnUsingCache()
Deprecated. Replaced by getUsingCache().

Specified by:
isOwnUsingCache in interface JRImage

getUsingCache

public java.lang.Boolean getUsingCache()
Description copied from interface: JRImage
Indicates if the engine is loading the current image from cache. Implementations of this method return the actual value for the internal flag that was explicitly set on this image element.

Specified by:
getUsingCache in interface JRImage
Returns:
Boolean.TRUE if the image should be loaded from cache, Boolean.FALSE otherwise or null in case the flag was never explicitly set on this image element

setUsingCache

public void setUsingCache(boolean isUsingCache)
Description copied from interface: JRImage
Specifies if the engine should be loading the current image from cache. If set to true, the reporting engine will try to recognize previously loaded images using their specified source. For example, it will recognize an image if the image source is a file name that it has already loaded, or if it is the same URL.

For image elements that have expressions returning java.lang.String objects as the image source, representing file names, URLs or classpath resources, the default value for this flag is true.

Specified by:
setUsingCache in interface JRImage

setUsingCache

public void setUsingCache(java.lang.Boolean isUsingCache)
Description copied from interface: JRImage
Specifies if the engine should be loading the current image from cache. If set to Boolean.TRUE, the reporting engine will try to recognize previously loaded images using their specified source. For example, it will recognize an image if the image source is a file name that it has already loaded, or if it is the same URL.

If set to null, the engine will rely on some default value which depends on the type of the image expression. The cache is turned on by default only for images that have java.lang.String objects in their expressions.

Specified by:
setUsingCache in interface JRImage

isLazy

public boolean isLazy()
Description copied from interface: JRImage
Indicates if the images will be loaded lazily or not.

Specified by:
isLazy in interface JRImage

setLazy

public void setLazy(boolean isLazy)
Description copied from interface: JRImage
Gives control over when the images are retrieved from their specified location. If set to true, the image is loaded from the specified location only when the document is viewed or exported to other formats. Otherwise it is loaded during the report filling process and stored in the resulting document.

Specified by:
setLazy in interface JRImage
Parameters:
isLazy - specifies whether

getOnErrorTypeValue

public OnErrorTypeEnum getOnErrorTypeValue()
Description copied from interface: JRImage
Indicates how the engine will treat a missing image.

Specified by:
getOnErrorTypeValue in interface JRImage
Returns:
a value representing one of the missing image handling constants in OnErrorTypeEnum

setOnErrorType

public void setOnErrorType(OnErrorTypeEnum onErrorType)
Description copied from interface: JRImage
Specifies how the engine should treat a missing image.

Specified by:
setOnErrorType in interface JRImage
Parameters:
onErrorType - a value representing one of the missing image handling constants in OnErrorTypeEnum

getEvaluationTimeValue

public EvaluationTimeEnum getEvaluationTimeValue()
Description copied from interface: JRImage
Indicates the evaluation time for this image.

Specified by:
getEvaluationTimeValue in interface JRImage
Overrides:
getEvaluationTimeValue in class JRFillElement
Returns:
one of the evaluation time constants in EvaluationTimeEnum

getEvaluationGroup

public JRGroup getEvaluationGroup()
Description copied from interface: JRImage
Gets the evaluation group for this text field. Used only when evaluation time is group.

Specified by:
getEvaluationGroup in interface JRImage
See Also:
EvaluationTimeEnum.GROUP

getLineBox

public JRLineBox getLineBox()
Specified by:
getLineBox in interface JRBoxContainer

getHyperlinkType

public byte getHyperlinkType()
Deprecated. Replaced by getHyperlinkTypeValue().

Specified by:
getHyperlinkType in interface JRHyperlink

getHyperlinkTypeValue

public HyperlinkTypeEnum getHyperlinkTypeValue()
Description copied from interface: JRHyperlink
Retrieves the hyperlink type for the element.

The actual hyperlink type is determined by getLinkType(). This method can is used to determine whether the hyperlink type is one of the built-in types or a custom type. When hyperlink is of custom type, CUSTOM is returned.

Specified by:
getHyperlinkTypeValue in interface JRHyperlink
Returns:
one of the hyperlink type constants
See Also:
JRHyperlink.getLinkType()

getHyperlinkTarget

public byte getHyperlinkTarget()
Description copied from interface: JRHyperlink
Retrieves the hyperlink target for the element.

The actual hyperlink target is determined by getLinkTarget(). This method can is used to determine whether the hyperlink target is one of the built-in target names or a custom one. When hyperlink has a custom target name, HyperlinkTargetEnum.CUSTOM is returned.

Specified by:
getHyperlinkTarget in interface JRHyperlink
Returns:
one of the hyperlink target constants
See Also:
JRHyperlink.getLinkTarget()

getLinkTarget

public java.lang.String getLinkTarget()
Description copied from interface: JRHyperlink
Returns the hyperlink target name.

The type can be one of the built-in names (Self, Blank, Top, Parent), or can be an arbitrary name.

Specified by:
getLinkTarget in interface JRHyperlink
Returns:
the hyperlink target name

getExpression

public JRExpression getExpression()
Specified by:
getExpression in interface JRImage

getAnchorNameExpression

public JRExpression getAnchorNameExpression()
Description copied from interface: JRAnchor
Returns an expression whose value represents the anchor name.

Specified by:
getAnchorNameExpression in interface JRAnchor

getHyperlinkReferenceExpression

public JRExpression getHyperlinkReferenceExpression()
Description copied from interface: JRHyperlink
Returns the expression whose value represents the hyperlink reference. It is only used when the hyperlink type is reference or anchor

Specified by:
getHyperlinkReferenceExpression in interface JRHyperlink

getHyperlinkAnchorExpression

public JRExpression getHyperlinkAnchorExpression()
Description copied from interface: JRHyperlink
Returns the expression whose value represents the anchor. It is only used when the hyperlink type is anchor.

Specified by:
getHyperlinkAnchorExpression in interface JRHyperlink

getHyperlinkPageExpression

public JRExpression getHyperlinkPageExpression()
Description copied from interface: JRHyperlink
Returns an integer representing the page index of the link. It is only used when the hyperlink type is page. If the expression does not evaluate to an integer, an exception will be thrown.

Specified by:
getHyperlinkPageExpression in interface JRHyperlink

getRenderable

protected Renderable getRenderable()

getAnchorName

protected java.lang.String getAnchorName()

getHyperlinkReference

protected java.lang.String getHyperlinkReference()

getHyperlinkAnchor

protected java.lang.String getHyperlinkAnchor()

getHyperlinkPage

protected java.lang.Integer getHyperlinkPage()

getHyperlinkTooltip

protected java.lang.String getHyperlinkTooltip()

getJRTemplateImage

protected JRTemplateImage getJRTemplateImage()

createElementTemplate

protected JRTemplateElement createElementTemplate()
Specified by:
createElementTemplate in class JRFillElement

evaluate

protected void evaluate(byte evaluation)
                 throws JRException
Specified by:
evaluate in class JRFillElement
Throws:
JRException

evaluateImage

protected void evaluateImage(byte evaluation)
                      throws JRException
Throws:
JRException

prepare

protected boolean prepare(int availableHeight,
                          boolean isOverflow)
                   throws JRException
Overrides:
prepare in class JRFillGraphicElement
Throws:
JRException

reset

protected void reset()
Overrides:
reset in class JRFillElement

fitImage

protected boolean fitImage(int availableHeight,
                           boolean overflowAllowed,
                           HorizontalAlignEnum hAlign)
                    throws JRException
Throws:
JRException

fill

protected JRPrintElement fill()
                       throws JRException
Specified by:
fill in class JRFillElement
Throws:
JRException

copy

protected void copy(JRPrintImage printImage)

collectExpressions

public void collectExpressions(JRExpressionCollector collector)
Specified by:
collectExpressions in interface JRElement

visit

public void visit(JRVisitor visitor)
Specified by:
visit in interface JRVisitable

resolveElement

protected void resolveElement(JRPrintElement element,
                              byte evaluation)
                       throws JRException
Description copied from class: JRFillElement
Resolves an element.

Specified by:
resolveElement in class JRFillElement
Parameters:
element - the element
evaluation - the evaluation type
Throws:
JRException

getBookmarkLevel

public int getBookmarkLevel()
Description copied from interface: JRAnchor
Returns the level of the bookmark corresponding to the anchor.

Specified by:
getBookmarkLevel in interface JRAnchor
Returns:
the level of the bookmark corresponding to the anchor (starting from 1) or NO_BOOKMARK if no bookmark should be created for this anchor

createClone

public JRFillCloneable createClone(JRFillCloneFactory factory)
Description copied from interface: JRFillCloneable
Creates a working clone of itself.

Specified by:
createClone in interface JRFillCloneable
Parameters:
factory - the clone factory to use while creating the clone
Returns:
a working clone of itself

collectDelayedEvaluations

protected void collectDelayedEvaluations()
Overrides:
collectDelayedEvaluations in class JRFillElement

getHyperlinkParameters

public JRHyperlinkParameter[] getHyperlinkParameters()
Description copied from interface: JRHyperlink
Returns the list of hyperlink parameters.

The parameters can be used by custom hyperlink types to generate dynamic links.

Specified by:
getHyperlinkParameters in interface JRHyperlink
Returns:
the list of hyperlink parameters

getLinkType

public java.lang.String getLinkType()
Description copied from interface: JRHyperlink
Returns the hyperlink type.

The type can be one of the built-in types (Reference, LocalAnchor, LocalPage, RemoteAnchor, RemotePage), or can be an arbitrary type.

Specified by:
getLinkType in interface JRHyperlink
Returns:
the hyperlink type

getHyperlinkTooltipExpression

public JRExpression getHyperlinkTooltipExpression()
Description copied from interface: JRHyperlink
Returns the expression which will generate the hyperlink tooltip.

Specified by:
getHyperlinkTooltipExpression in interface JRHyperlink
Returns:
the expression which will generate the hyperlink tooltip


© 2001-2010 Jaspersoft Corporation www.jaspersoft.com