Interface JRStyle

  • All Superinterfaces:
    java.lang.Cloneable, JRBoxContainer, JRCloneable, JRParagraphContainer, JRPenContainer, JRStyleContainer
    All Known Subinterfaces:
    JRConditionalStyle
    All Known Implementing Classes:
    JRBaseConditionalStyle, JRBaseStyle, JRDesignConditionalStyle, JRDesignStyle

    public interface JRStyle
    extends JRBoxContainer, JRPenContainer, JRParagraphContainer, JRCloneable
    Provides a collection of style settings declared at the report level.

    Report Styles

    A report style is a collection of style settings declared at the report level. These settings can be reused throughout the entire report template when setting the style properties of report elements.

    The name attribute of a <style> element is mandatory. It must be unique because it references the corresponding report style throughout the report.

    One can use isDefault="true" for one of your report style declarations to mark the default for elements that do not or cannot have another style specified.

    Each report style definition can reference another style definition from which it will inherit some or all of its properties. The style attribute inside a <style> element specifies the name of the parent report style.

    Below is a list with the main style attributes:

    • name - the name of the style. Required.
    • isDefault - flag that specifies if the style represents the default report style.
    • style - the name of the parent style
    • mode - specifies whether report elements are opaque or transparent. Possible values are:
      • Opaque
      • Transparent
    • forecolor - the font color for text elements or the line color for graphic elements
    • backcolor - the element background color
    • fill - the fill pattern. Possible value is Solid
    • radius - the radius for some graphic elements
    • hTextAlign - the horizontal alignment of the text within a text element. Possible values are:
      • Left - default setting
      • Center
      • Right
      • Justified
    • vTextAlign - the vertical alignment of the text within a text element. Possible values are:
      • Top - default setting
      • Middle
      • Bottom
    • hImageAlign - the horizontal alignment of the image within an image element. Possible values are:
      • Left - default setting
      • Center
      • Right
    • vImageAlign - the vertical alignment of the image within an image element. Possible values are:
      • Top - default setting
      • Middle
      • Bottom
    • rotation - the text rotation within a text element. Possible values are:
      • None - default setting
      • Left
      • Right
      • UpsideDown
    • fontName - the name of the font face
    • fontSize - the font size
    • isBold - flag that specifies whether the font is bold
    • isItalic - flag that specifies whether the font is italic
    • isUnderline - flag that specifies whether the font is underlined
    • isStrikeThrough - flag that specifies whether the font is strike through
    • pattern - specifies the format pattern for text elements
    • isBlankWhenNull - flag that specifies whether null values should be represented as blanks
    • markup - the markup style for the text elements. Possible values are:
      • none - default setting
      • styled
      • html
      • rtf

    A style also may contain:

    All report elements can reference a report style to inherit all or part of the style properties. A report style declaration groups all the style-related properties supported throughout the library, but an individual element inherits only those style properties that apply to it. The others will be ignored.

    Conditional Styles

    Sometimes users need to change a report element style at runtime based on certain conditions (for example, to alternate adjacent row colors in a report detail section). To achieve this goal, one can set some style properties to be enabled only if a specified condition is true. This is done using conditional styles.

    A conditional style has two elements: a Boolean condition expression and a style. The style is used only if the condition evaluates to true.

    An important aspect is the priority of styles. When applied, a conditional style will override the properties of its parent style.

    A style can contain more than one conditional style. In this case, all conditionals that evaluate to true will be appended to the existing style (the second style will be appended to the first, and so on).

    By default, the style condition expressions are evaluated during the report filling process at the time that the style reference is used. The conditional expression evaluation will use the current values of referenced variables and fields, regardless of the evaluationTime attribute of the element that makes use of the style.

    If the evaluation of the condition expression of the style needs to be delayed, just like the value of the text field or the image element that uses the conditional style, the net.sf.jasperreports.style.evaluation.time.enabled configuration property should be set to true.

    Style Templates

    Report styles can also be defined in external style template files that are referenced by report templates. This allows report designers to define in a single place a common look for a set of reports.

    A style template is an XML file that contains one or more style definitions. A template can include references to other style template files, hence one can organize a style library as a hierarchical set of style template files.

    Style template files use by convention the *.jrtx extension, but this is not mandatory.

    A report can use style templates by explicitly referring them in its definition. References to a style templates are included in JRXML reports as <template> elements. Such an element contains an expression that is resolved at fill time to a style template instance.

    Author:
    Ionut Nedelcu (ionutned@users.sourceforge.net)
    See Also:
    JRLineBox, JRParagraph, JRPen
    • Field Detail

      • PROPERTY_EVALUATION_TIME_ENABLED

        static final java.lang.String PROPERTY_EVALUATION_TIME_ENABLED
        A flag the determines whether the style of an element is evaluated at the element evaluation time, or at the time the band on which the element is placed is rendered.

        This applies to report elements that can have delayed evaluations times (such as text fields and images). When this flag is set to true, conditional style expressions of the style that is associated with the element are evaluated at the moment the element is set to evaluate, and the resulting style to the generated print element.

        By default, this flag is set to false. The property can be set globally, at report level and at element level.

        See Also:
        Constant Field Values
    • Method Detail

      • getName

        java.lang.String getName()
        Gets the style unique name.
      • isDefault

        boolean isDefault()
        Gets a flag that specifies if this is the default report style.
      • getModeValue

        ModeEnum getModeValue()
        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.
      • getOwnModeValue

        ModeEnum getOwnModeValue()
      • getForecolor

        java.awt.Color getForecolor()
      • getOwnForecolor

        java.awt.Color getOwnForecolor()
      • getBackcolor

        java.awt.Color getBackcolor()
      • getOwnBackcolor

        java.awt.Color getOwnBackcolor()
      • getLinePen

        JRPen getLinePen()
      • getFillValue

        FillEnum getFillValue()
        Indicates the fill type used for this element.
        Returns:
        one of the fill constants in FillEnum.
      • getOwnFillValue

        FillEnum getOwnFillValue()
      • getRadius

        java.lang.Integer getRadius()
        Indicates the corner radius for rectangles with round corners. The default is 0.
      • getOwnRadius

        java.lang.Integer getOwnRadius()
      • getScaleImageValue

        ScaleImageEnum getScaleImageValue()
        Gets the image scale type.
        Returns:
        one of the scale types defined in ScaleImageEnum
      • getOwnScaleImageValue

        ScaleImageEnum getOwnScaleImageValue()
        Gets the image own scale type.
        Returns:
        one of the scale types defined in ScaleImageEnum
      • getRotationValue

        RotationEnum getRotationValue()
        Gets the text rotation.
        Returns:
        a value representing one of the rotation values in the RotationEnum.
      • getOwnRotationValue

        RotationEnum getOwnRotationValue()
        Gets the text own rotation.
        Returns:
        a value representing one of the rotation values in the RotationEnum.
      • getMarkup

        java.lang.String getMarkup()
        Returns the markup language used to format the text.
      • getOwnMarkup

        java.lang.String getOwnMarkup()
      • getFontName

        java.lang.String getFontName()
      • getOwnFontName

        java.lang.String getOwnFontName()
      • isBold

        java.lang.Boolean isBold()
      • isOwnBold

        java.lang.Boolean isOwnBold()
      • isItalic

        java.lang.Boolean isItalic()
      • isOwnItalic

        java.lang.Boolean isOwnItalic()
      • isUnderline

        java.lang.Boolean isUnderline()
      • isOwnUnderline

        java.lang.Boolean isOwnUnderline()
      • isStrikeThrough

        java.lang.Boolean isStrikeThrough()
      • isOwnStrikeThrough

        java.lang.Boolean isOwnStrikeThrough()
      • getFontsize

        java.lang.Float getFontsize()
      • getOwnFontsize

        java.lang.Float getOwnFontsize()
      • getPdfFontName

        java.lang.String getPdfFontName()
      • getOwnPdfFontName

        java.lang.String getOwnPdfFontName()
      • getPdfEncoding

        java.lang.String getPdfEncoding()
      • getOwnPdfEncoding

        java.lang.String getOwnPdfEncoding()
      • isPdfEmbedded

        java.lang.Boolean isPdfEmbedded()
      • isOwnPdfEmbedded

        java.lang.Boolean isOwnPdfEmbedded()
      • getPattern

        java.lang.String getPattern()
        Gets the pattern used for this text field. The pattern will be used in a SimpleDateFormat for dates and a DecimalFormat for numeric text fields. The pattern format must follow one of these two classes formatting rules, as specified in the JDK API docs.
        Returns:
        a string containing the pattern.
      • getOwnPattern

        java.lang.String getOwnPattern()
      • isBlankWhenNull

        java.lang.Boolean isBlankWhenNull()
      • isOwnBlankWhenNull

        java.lang.Boolean isOwnBlankWhenNull()
      • setForecolor

        void setForecolor​(java.awt.Color forecolor)
      • setBackcolor

        void setBackcolor​(java.awt.Color backcolor)
      • setMode

        void setMode​(ModeEnum mode)
      • setFill

        void setFill​(FillEnum fill)
      • setRadius

        void setRadius​(java.lang.Integer radius)
      • setFontName

        void setFontName​(java.lang.String fontName)
      • setBold

        void setBold​(java.lang.Boolean bold)
      • setItalic

        void setItalic​(java.lang.Boolean italic)
      • setPdfEmbedded

        void setPdfEmbedded​(java.lang.Boolean pdfEmbedded)
      • setStrikeThrough

        void setStrikeThrough​(java.lang.Boolean strikeThrough)
      • setMarkup

        void setMarkup​(java.lang.String markup)
      • setUnderline

        void setUnderline​(java.lang.Boolean underline)
      • setPattern

        void setPattern​(java.lang.String pattern)
      • setBlankWhenNull

        void setBlankWhenNull​(java.lang.Boolean isBlankWhenNull)
      • setPdfEncoding

        void setPdfEncoding​(java.lang.String pdfEncoding)
      • setPdfFontName

        void setPdfFontName​(java.lang.String pdfFontName)
      • setFontSize

        void setFontSize​(java.lang.Float fontSize)