Package net.sf.jasperreports.engine.base
Class JRBaseElement
java.lang.Object
net.sf.jasperreports.engine.base.JRBaseElement
- All Implemented Interfaces:
Serializable
,Cloneable
,JRChangeEventsSupport
,JRChild
,JRCloneable
,JRCommonElement
,JRElement
,JRIdentifiable
,JRPropertiesHolder
,JRStyleContainer
,JRVisitable
- Direct Known Subclasses:
JRBaseBreak
,JRBaseChart
,JRBaseComponentElement
,JRBaseCrosstab
,JRBaseFrame
,JRBaseGenericElement
,JRBaseGraphicElement
,JRBaseSubreport
,JRBaseTextElement
,JRDesignElement
public abstract class JRBaseElement
extends Object
implements JRElement, Serializable, JRChangeEventsSupport
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.
- Author:
- Teodor Danciu (teodord@users.sourceforge.net)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Color
protected final JRDefaultStyleProvider
protected JRElementGroup
protected Color
protected int
protected boolean
protected boolean
protected boolean
protected boolean
protected String
protected ModeEnum
protected JRStyle
protected String
protected PositionTypeEnum
protected JRExpression
protected String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
protected StretchTypeEnum
protected JRExpression
protected UUID
protected int
protected int
protected int
Fields inherited from interface net.sf.jasperreports.engine.JRElement
PROPERTY_ELEMENT_TEMPLATE_POPULATE_STYLE
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
JRBaseElement
(JRDefaultStyleProvider defaultStyleProvider) protected
JRBaseElement
(JRElement element, JRBaseObjectFactory factory) Initializes basic properties of the element. -
Method Summary
Modifier and TypeMethodDescriptionclone()
clone
(JRElementGroup parentGroup) clone
(JRElementGroup parentGroup, int y) protected JRStyle
Indicates the logical group that the element belongs to.Returns the property change support object for this instance.int
getKey()
Returns the string value that uniquely identifies the element.getMode()
Returns the element transparency mode.Returns the parent properties holder, whose properties are used as defaults for this object.Returns the position type for the elementGets the expression that is evaluated in order to decide if the element should be displayed.Returns the group for which an element with a printRepeatedValues attribute set to true will be redisplayed even if the value has not changed.Returns this object's properties map.Returns the list of dynamic/expression-based properties for this report element.Indicates the stretch type for the elementgetStyle()
Returns this object's style.Gets the expression that is evaluated in order to obtain the runtime style name to be used for the element.Returns the name of an external style which is to be used by this object.protected StyleResolver
getUUID()
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
Checks whether the object has any properties.boolean
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
Specifies if the element value will be printed for every iteration, even if its value has not changed.boolean
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
Returns true if the remaining blank space appearing when the value is not printed will be removed.void
setBackcolor
(Color backcolor) void
setForecolor
(Color forecolor) void
Sets the element transparency mode.void
setPositionType
(PositionTypeEnum 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
(StretchTypeEnum stretchType) Specifies how the engine should treat a missing image.void
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
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.JRStyleContainer
getStyleName
Methods inherited from interface net.sf.jasperreports.engine.JRVisitable
visit
-
Field Details
-
PROPERTY_POSITION_TYPE
- See Also:
-
PROPERTY_PRINT_IN_FIRST_WHOLE_BAND
- See Also:
-
PROPERTY_PRINT_REPEATED_VALUES
- See Also:
-
PROPERTY_PRINT_WHEN_DETAIL_OVERFLOWS
- See Also:
-
PROPERTY_REMOVE_LINE_WHEN_BLANK
- See Also:
-
PROPERTY_STRETCH_TYPE
- See Also:
-
PROPERTY_WIDTH
- See Also:
-
PROPERTY_X
- See Also:
-
uuid
-
key
-
positionType
-
stretchType
-
isPrintRepeatedValues
protected boolean isPrintRepeatedValues -
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
-
backcolor
-
printWhenExpression
-
printWhenGroupChanges
-
elementGroup
-
defaultStyleProvider
-
parentStyle
-
parentStyleNameReference
-
styleExpression
-
-
Constructor Details
-
JRBaseElement
-
JRBaseElement
Initializes basic properties of the element.- Parameters:
element
- an element whose properties are copied to this element. Usually it is aJRDesignElement
that must be transformed into an JRBaseElement at compile time.factory
- a factory used in the compile process
-
-
Method Details
-
getDefaultStyleProvider
- Specified by:
getDefaultStyleProvider
in interfaceJRStyleContainer
-
getStyleResolver
-
getBaseStyle
-
getUUID
- Specified by:
getUUID
in interfaceJRIdentifiable
-
setUUID
-
getKey
Description copied from interface:JRCommonElement
Returns the string value that uniquely identifies the element.- Specified by:
getKey
in interfaceJRCommonElement
-
getPositionType
Description copied from interface:JRElement
Returns the position type for the element- Specified by:
getPositionType
in interfaceJRElement
- Returns:
- the position type
-
setPositionType
Description copied from interface:JRElement
Sets the position type for the element.- Specified by:
setPositionType
in interfaceJRElement
- Parameters:
positionType
- the position type
-
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
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:
-
setPrintRepeatedValues
public void setPrintRepeatedValues(boolean isPrintRepeatedValues) - Specified by:
setPrintRepeatedValues
in interfaceJRElement
-
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
- Specified by:
getOwnMode
in interfaceJRCommonElement
-
setMode
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. -
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
-
setWidth
public void setWidth(int width) -
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:
-
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:
-
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
- Specified by:
getForecolor
in interfaceJRCommonElement
-
getOwnForecolor
- Specified by:
getOwnForecolor
in interfaceJRCommonElement
-
setForecolor
- Specified by:
setForecolor
in interfaceJRCommonElement
-
getBackcolor
- Specified by:
getBackcolor
in interfaceJRCommonElement
-
getOwnBackcolor
- Specified by:
getOwnBackcolor
in interfaceJRCommonElement
-
setBackcolor
- Specified by:
setBackcolor
in interfaceJRCommonElement
-
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
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:
-
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:
-
getStyle
Description copied from interface:JRStyleContainer
Returns this object's style.- Specified by:
getStyle
in interfaceJRStyleContainer
- Returns:
- this object's style
-
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
-
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
-
getEventSupport
Description copied from interface:JRChangeEventsSupport
Returns the property change support object for this instance.- Specified by:
getEventSupport
in interfaceJRChangeEventsSupport
- Returns:
- the property change support object for this instance
-
clone
- Specified by:
clone
in interfaceJRCloneable
- Overrides:
clone
in classObject
-
clone
-
clone
-
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
Description copied from interface:JRPropertiesHolder
Returns this object's properties map.- Specified by:
getPropertiesMap
in interfaceJRPropertiesHolder
- Returns:
- this object's properties map
-
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
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
-