net.sf.jasperreports.engine.base
Class JRBaseElement

java.lang.Object
  extended bynet.sf.jasperreports.engine.base.JRBaseElement
All Implemented Interfaces:
JRChild, JRElement, java.io.Serializable
Direct Known Subclasses:
JRBaseChart, JRBaseGraphicElement, JRBaseSubreport, JRBaseTextElement, JRDesignElement

public abstract class JRBaseElement
extends java.lang.Object
implements JRElement, java.io.Serializable

This class provides a skeleton implementation for a report element. It mostly provides internal variables, representing the most common element properties, and their getter/setter methods. It also has a constructor for initializing these properties.

Version:
$Id: JRBaseElement.java,v 1.26 2005/09/07 13:58:25 teodord Exp $
Author:
Teodor Danciu (teodord@users.sourceforge.net)
See Also:
Serialized Form

Field Summary
protected  java.awt.Color backcolor
           
protected  JRElementGroup elementGroup
           
protected  java.awt.Color forecolor
           
protected  int height
           
protected  boolean isPrintInFirstWholeBand
           
protected  boolean isPrintRepeatedValues
           
protected  boolean isPrintWhenDetailOverflows
           
protected  boolean isRemoveLineWhenBlank
           
protected  java.lang.String key
           
protected  byte mode
           
protected  byte positionType
           
protected  JRExpression printWhenExpression
           
protected  JRGroup printWhenGroupChanges
           
protected  byte stretchType
           
protected  int width
           
protected  int x
           
protected  int y
           
 
Fields inherited from interface net.sf.jasperreports.engine.JRElement
MODE_OPAQUE, MODE_TRANSPARENT, POSITION_TYPE_FIX_RELATIVE_TO_BOTTOM, POSITION_TYPE_FIX_RELATIVE_TO_TOP, POSITION_TYPE_FLOAT, STRETCH_TYPE_NO_STRETCH, STRETCH_TYPE_RELATIVE_TO_BAND_HEIGHT, STRETCH_TYPE_RELATIVE_TO_TALLEST_OBJECT
 
Constructor Summary
protected JRBaseElement()
          Empty constructor.
protected JRBaseElement(JRElement element, JRBaseObjectFactory factory)
          Initializes basic properties of the element.
 
Method Summary
 java.awt.Color getBackcolor()
           
 JRElementGroup getElementGroup()
          Indicates the logical group that the element belongs to.
 java.awt.Color getForecolor()
           
 int getHeight()
           
 java.lang.String getKey()
          Returns the string value that uniquely identifies the element.
 byte getMode()
          Returns the element transparency mode.
 byte getPositionType()
          Returns the position type for the element
 JRExpression getPrintWhenExpression()
          Gets the the expression that is evaluated in order to decide if the element should be displayed.
 JRGroup 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.
 byte getStretchType()
          Returns the stretch type for the element
 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 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.
 boolean isRemoveLineWhenBlank()
          Returns true if the remaining blank space appearing when the value is not printed will be removed.
 void setBackcolor(java.awt.Color backcolor)
           
 void setForecolor(java.awt.Color forecolor)
           
 void setMode(byte mode)
          Returns the element transparency mode.
 void setPositionType(byte positionType)
          Sets the position type for the element.
 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.
 void setRemoveLineWhenBlank(boolean isRemoveLine)
          Specifies whether the remaining blank space appearing when the value is not printed will be removed.
 void setStretchType(byte stretchType)
          Sets the stretch type for the element.
 void setWidth(int width)
           
 void setX(int x)
          Sets the the section relative horizontal offset of the element top left corner.
 
Methods inherited from class java.lang.Object
clone, 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.JRChild
getCopy, writeXml
 

Field Detail

key

protected java.lang.String key

positionType

protected byte positionType

stretchType

protected byte stretchType

isPrintRepeatedValues

protected boolean isPrintRepeatedValues

mode

protected byte mode

x

protected int x

y

protected int y

width

protected int width

height

protected int height

isRemoveLineWhenBlank

protected boolean isRemoveLineWhenBlank

isPrintInFirstWholeBand

protected boolean isPrintInFirstWholeBand

isPrintWhenDetailOverflows

protected boolean isPrintWhenDetailOverflows

forecolor

protected java.awt.Color forecolor

backcolor

protected java.awt.Color backcolor

printWhenExpression

protected JRExpression printWhenExpression

printWhenGroupChanges

protected JRGroup printWhenGroupChanges

elementGroup

protected JRElementGroup elementGroup
Constructor Detail

JRBaseElement

protected JRBaseElement()
Empty constructor.


JRBaseElement

protected JRBaseElement(JRElement element,
                        JRBaseObjectFactory factory)
Initializes basic properties of the element.

Parameters:
element - an element whose properties are copied to this element. Usually it is a JRDesignElement that must be transformed into an JRBaseElement at compile time.
factory - a factory used in the compile process
Method Detail

getKey

public java.lang.String getKey()
Description copied from interface: JRElement
Returns the string value that uniquely identifies the element.

Specified by:
getKey in interface JRElement

getPositionType

public byte getPositionType()
Description copied from interface: JRElement
Returns the position type for the element

Specified by:
getPositionType in interface JRElement
Returns:
a byte value representing one of the position type constants in this class

setPositionType

public void setPositionType(byte positionType)
Description copied from interface: JRElement
Sets the position type for the element.

Specified by:
setPositionType in interface JRElement
Parameters:
positionType - a byte value that must be one of the position type constants in this class

getStretchType

public byte getStretchType()
Description copied from interface: JRElement
Returns the stretch type for the element

Specified by:
getStretchType in interface JRElement
Returns:
a byte value representing one of the strech type constants in this class

setStretchType

public void setStretchType(byte stretchType)
Description copied from interface: JRElement
Sets the stretch type for the element.

Specified by:
setStretchType in interface JRElement
Parameters:
stretchType - a byte value that must be one of the stretch type constants in this class

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 interface JRElement
See Also:
JRElement.isRemoveLineWhenBlank(), JRElement.isPrintInFirstWholeBand()

setPrintRepeatedValues

public void setPrintRepeatedValues(boolean isPrintRepeatedValues)
Specified by:
setPrintRepeatedValues in interface JRElement

getMode

public byte getMode()
Description copied from interface: JRElement
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 interface JRElement
Returns:
MODE_OPAQUE or MODE_TRANSPARENT

setMode

public void setMode(byte mode)
Description copied from interface: JRElement
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:
setMode in interface JRElement

getX

public int getX()
Description copied from interface: JRElement
Gets the the section relative horizontal offset of the element top left corner.

Specified by:
getX in interface JRElement

setX

public void setX(int x)
Description copied from interface: JRElement
Sets the the section relative horizontal offset of the element top left corner.

Specified by:
setX in interface JRElement

getY

public int getY()
Description copied from interface: JRElement
Gets the the section relative vertical offset of the element top left corner.

Specified by:
getY in interface JRElement

getWidth

public int getWidth()
Specified by:
getWidth in interface JRElement

setWidth

public void setWidth(int width)
Specified by:
setWidth in interface JRElement

getHeight

public int getHeight()
Specified by:
getHeight in interface JRElement

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 interface JRElement

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 interface JRElement

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 interface JRElement
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 interface JRElement
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 interface JRElement

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 interface JRElement

getForecolor

public java.awt.Color getForecolor()
Specified by:
getForecolor in interface JRElement

setForecolor

public void setForecolor(java.awt.Color forecolor)
Specified by:
setForecolor in interface JRElement

getBackcolor

public java.awt.Color getBackcolor()
Specified by:
getBackcolor in interface JRElement

setBackcolor

public void setBackcolor(java.awt.Color backcolor)
Specified by:
setBackcolor in interface JRElement

getPrintWhenExpression

public JRExpression getPrintWhenExpression()
Description copied from interface: JRElement
Gets the the expression that is evaluated in order to decide if the element should be displayed. The print expression always returns a boolean value.

Specified by:
getPrintWhenExpression in interface JRElement

getPrintWhenGroupChanges

public JRGroup 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 interface JRElement
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 get the height of the tallest one.

Specified by:
getElementGroup in interface JRElement
See Also:
JRElement.STRETCH_TYPE_RELATIVE_TO_TALLEST_OBJECT


© 2001-2005 JasperSoft Corporation www.jaspersoft.com