Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.jasperreports.engine.design
Class JRVerifier

    java.lang.Object
      net.sf.jasperreports.engine.design.JRVerifier

    public class JRVerifier

extends java.lang.Object

A report verifier.

The verifier checks that a report design meets certain rules in order to pass report compilation.

Version:
  $Id: JRVerifier.java 3956 2010-09-22 08:38:39Z teodord $
Author:
  Teodor Danciu (teodord@users.sourceforge.net)

Field Summary
`static java.lang.String` | `PROPERTY_ALLOW_ELEMENT_NEGATIVE_WIDTH`
`static java.lang.String` | `PROPERTY_ALLOW_ELEMENT_NEGATIVE_Y` Property that determines whether elements positioned at negative Y offsets on bands, frames and other element containers are allowed in a report.
`static java.lang.String` | `PROPERTY_ALLOW_ELEMENT_OVERLAP` A property that determines whether elements are allowed to overlap.

Constructor Summary
`protected` | `JRVerifier(JasperDesign jrDesign)`
`protected` | `JRVerifier(JasperDesign jrDesign, JRExpressionCollector expressionCollector)`

Method Summary
`protected static void` | `addBrokenRule(java.util.Collection brokenRules, java.lang.String message, java.lang.Object source)`
`void` | `addBrokenRule(java.lang.Exception e, java.lang.Object source)` Logs a broken report rule which was caused by an exception.
`void` | `addBrokenRule(java.lang.String message, java.lang.Object source)` Logs a broken rule for the report.
`protected boolean` | `allowElementNegativeY(JRElement element)`
`JRComponentElement` | `getCurrentComponentElement()` Returns the component element which is currently verified, if any.
`protected java.lang.String` | `getElementPositionText(JRElement element)`
`JasperDesign` | `getReportDesign()`
`protected boolean` | `isAllowedToOverlap(JRElement element)`
`protected void` | `popCurrentComponentElement()`
`protected void` | `pushCurrentComponentElement(JRComponentElement element)`
`protected boolean` | `toVerifyElementOverlap()`
`void` | `verify(JRCategoryDataset dataset)`
`protected void` | `verify(JRCategorySeries series)`
`void` | `verify(JRGanttDataset dataset)`
`protected void` | `verify(JRGanttSeries series)`
`void` | `verify(JRHighLowDataset dataset)`
`void` | `verify(JRPieDataset dataset)`
`protected void` | `verify(JRPieSeries series)`
`void` | `verify(JRTimePeriodDataset dataset)`
`protected void` | `verify(JRTimePeriodSeries series)`
`protected void` | `verify(JRTimeSeries series)`
`void` | `verify(JRTimeSeriesDataset dataset)`
`void` | `verify(JRValueDataset dataset)` Verify the design of a value dataset.
`void` | `verify(JRXyDataset dataset)`
`protected void` | `verify(JRXySeries series)`
`void` | `verify(JRXyzDataset dataset)`
`protected void` | `verify(JRXyzSeries series)`
`static void` | `verifyBandHeights(java.util.Collection brokenRules, JRReport report, int pageHeight, int topMargin, int bottomMargin)` Validates that the report band heights fit on a page of certain size.
`protected void` | `verifyComponentElement(JRComponentElement element)`
`void` | `verifyDatasetRun(JRDatasetRun datasetRun)` Verifies a subdataset run object.
`protected java.util.Collection` | `verifyDesign()`
`static java.util.Collection` | `verifyDesign(JasperDesign jasperDesign)` Validates a `report design`.
`static java.util.Collection` | `verifyDesign(JasperDesign jasperDesign, JRExpressionCollector expressionCollector)` Validates a `report design`.
`void` | `verifyElement(JRElement element)`
`void` | `verifyElementDataset(JRElementDataset dataset)`
`protected void` | `verifyElementOverlap(JRElement element1, JRElement element2)`
`protected void` | `verifyElementsOverlap(JRElement[] elements)`
`protected void` | `verifyEmptyBackground()`
`void` | `verifyExpression(JRExpression expression, java.lang.Object parent, java.lang.String mandatoryMessage, java.lang.String noTypeSetMessage, java.lang.Class expectedType, java.lang.String invalidTypeMessage)`
`protected void` | `verifyFormatFactoryClass()`
`protected void` | `verifyGenericElement(JRGenericElement element)`
`void` | `verifyHyperlink(JRHyperlink hyperlink)`
`protected void` | `verifyHyperlinkParameter(JRHyperlinkParameter parameter)`
`protected void` | `verifyPropertyExpression(JRPropertyExpression propertyExpression)`
`protected void` | `verifyProperyExpressions(JRPropertyExpression[] propertyExpressions)`
`protected void` | `verifyReportElement(JRElement element)`
`protected void` | `verifyReportTemplates()`
`protected void` | `verifyTemplate(JRReportTemplate template)`
`protected boolean` | `verifyTemplateSourceType(java.lang.Class valueClass)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PROPERTY_ALLOW_ELEMENT_OVERLAP

    public static final java.lang.String PROPERTY_ALLOW_ELEMENT_OVERLAP

  A property that determines whether elements are allowed to overlap.

  If this value is set to `false`, the report is verified not to contain elements that overlap. This is useful when the report is meant to be exported to grid-based formats such as HTML, XLS or CSV. Setting this property to `false` ensures that element overlap issues are caught at report compile time.

  Additionally, when this property is set to false `false`, the report is verified not to have any content in the background section as this content would likely be overlapped by other sections and would not show in grid-based exporters.

  By default, the property is set to `true` which means that no element overlap checks are performed.

  The property can be set at the following levels:

  - At global level (in jasperreports.properties) to provide a default value.
  - At report level, to indicate whether element overlap checks are to be performed for the report. If not set, the global property value is used.
  - At report element level to specify that the particular element is allowed to overlap or be overlapped by other elements, when the report or global property determines report element overlap verification. The element level property is only effective when set to `true`; setting the property to `false` does not make the verifier check for overlaps when the report is not set to be checked for element overlaps.

  Note that print when expressions or export filters cannot be taken into consideration while checking for overlapping elements as this check is performed at report compilation time. If a report contains two elements that overlap but have print when expressions that guarantee that only one of them will be printed, or if export filters are in place to exclude one of the elements, one of them should be explicitly marked to allow element overlap when the report is configured to check for overlaps.

  See Also:
    Constant Field Values

### PROPERTY_ALLOW_ELEMENT_NEGATIVE_WIDTH

    public static final java.lang.String PROPERTY_ALLOW_ELEMENT_NEGATIVE_WIDTH

See Also:
  Constant Field Values

### PROPERTY_ALLOW_ELEMENT_NEGATIVE_Y

    public static final java.lang.String PROPERTY_ALLOW_ELEMENT_NEGATIVE_Y

  Property that determines whether elements positioned at negative Y offsets on bands, frames and other element containers are allowed in a report.

  Elements placed at negative Y offsets can cause unexpected problems in grid-based exporters where they can overlap elements from previous bands/element containers.

  If the property is set to `false`, elements in the report are verified to have positive Y offsets. Otherwise, no check is performed on element Y offsets.

  The property can be set at element, report and global levels. By default the property is set to `true`.

  Since:
    3.7.3
  See Also:
    `JRElement.getY()`, Constant Field Values

Constructor Detail

### JRVerifier

    protected JRVerifier(JasperDesign jrDesign)

### JRVerifier

    protected JRVerifier(JasperDesign jrDesign,
                         JRExpressionCollector expressionCollector)

Method Detail

### getReportDesign

    public JasperDesign getReportDesign()

### addBrokenRule

    public void addBrokenRule(java.lang.String message,
                              java.lang.Object source)

  Logs a broken rule for the report.

  Parameters:
    `message` - the message
    `source` - the source object to which the rule applies; can be null if not available

### addBrokenRule

    protected static void addBrokenRule(java.util.Collection brokenRules,
                                        java.lang.String message,
                                        java.lang.Object source)

### addBrokenRule

    public void addBrokenRule(java.lang.Exception e,
                              java.lang.Object source)

  Logs a broken report rule which was caused by an exception.

  Parameters:
    `e` - the exception that caused the broken rule
    `source` - the source object if available

### verifyDesign

    public static java.util.Collection verifyDesign(JasperDesign jasperDesign,
                                                    JRExpressionCollector expressionCollector)

  Validates a `report design`.

  Parameters:
    `jasperDesign` - the report design
    `expressionCollector` - a collector which was used to collect expressions from the report design; if null, a new collector will be created and used to collect the expressions
  Returns:
    a list of `design faults`; the report design is valid if and only if the list is empty

### verifyDesign

    public static java.util.Collection verifyDesign(JasperDesign jasperDesign)

  Validates a `report design`.

  Parameters:
    `jasperDesign` - the report design
  Returns:
    a list of `design faults`; the report design is valid if and only if the list is empty

### verifyDesign

    protected java.util.Collection verifyDesign()

### verifyEmptyBackground

    protected void verifyEmptyBackground()

### verifyBandHeights

    public static void verifyBandHeights(java.util.Collection brokenRules,
                                         JRReport report,
                                         int pageHeight,
                                         int topMargin,
                                         int bottomMargin)

  Validates that the report band heights fit on a page of certain size.

  Parameters:
    `brokenRules` - the list of rules to which the validation failures are to be added
    `report` - the report whose bands are to be validated
    `pageHeight` - the height of the page
    `topMargin` - the page top margin
    `bottomMargin` - the page bottom margin

### verifyFormatFactoryClass

    protected void verifyFormatFactoryClass()

### verifyReportTemplates

    protected void verifyReportTemplates()

### verifyTemplate

    protected void verifyTemplate(JRReportTemplate template)

### verifyTemplateSourceType

    protected boolean verifyTemplateSourceType(java.lang.Class valueClass)

### toVerifyElementOverlap

    protected boolean toVerifyElementOverlap()

### isAllowedToOverlap

    protected boolean isAllowedToOverlap(JRElement element)

### verifyElementOverlap

    protected void verifyElementOverlap(JRElement element1,
                                        JRElement element2)

### getElementPositionText

    protected java.lang.String getElementPositionText(JRElement element)

### verifyElementsOverlap

    protected void verifyElementsOverlap(JRElement[] elements)

### verifyElement

    public void verifyElement(JRElement element)

### verifyHyperlink

    public void verifyHyperlink(JRHyperlink hyperlink)

### verifyHyperlinkParameter

    protected void verifyHyperlinkParameter(JRHyperlinkParameter parameter)

### verifyElementDataset

    public void verifyElementDataset(JRElementDataset dataset)

### verifyDatasetRun

    public void verifyDatasetRun(JRDatasetRun datasetRun)

  Verifies a subdataset run object.

  Parameters:
    `datasetRun` - the subdataset run

### verify

    public void verify(JRCategoryDataset dataset)

### verify

    protected void verify(JRCategorySeries series)

### verify

    public void verify(JRPieDataset dataset)

### verify

    protected void verify(JRPieSeries series)

### verify

    public void verify(JRHighLowDataset dataset)

### verify

    public void verify(JRTimePeriodDataset dataset)

### verify

    protected void verify(JRTimePeriodSeries series)

### verify

    public void verify(JRTimeSeriesDataset dataset)

### verify

    protected void verify(JRTimeSeries series)

### verify

    public void verify(JRValueDataset dataset)

  Verify the design of a value dataset. Since value dataset's only contain a single value and do not support hyperlinks there is nothing to verify.

### verify

    public void verify(JRXyDataset dataset)

### verify

    protected void verify(JRXySeries series)

### verify

    protected void verify(JRGanttSeries series)

### verify

    public void verify(JRXyzDataset dataset)

### verify

    public void verify(JRGanttDataset dataset)

### verify

    protected void verify(JRXyzSeries series)

### verifyReportElement

    protected void verifyReportElement(JRElement element)

### allowElementNegativeY

    protected boolean allowElementNegativeY(JRElement element)

### verifyProperyExpressions

    protected void verifyProperyExpressions(JRPropertyExpression[] propertyExpressions)

### verifyPropertyExpression

    protected void verifyPropertyExpression(JRPropertyExpression propertyExpression)

### verifyComponentElement

    protected void verifyComponentElement(JRComponentElement element)

### getCurrentComponentElement

    public JRComponentElement getCurrentComponentElement()

  Returns the component element which is currently verified, if any.

  This method can be used in the `ComponentCompiler.verify(Component, JRVerifier)` method to get a handle of the wrapping componenet element.

  Returns:
    the currently verified component element

### pushCurrentComponentElement

    protected void pushCurrentComponentElement(JRComponentElement element)

### popCurrentComponentElement

    protected void popCurrentComponentElement()

### verifyGenericElement

    protected void verifyGenericElement(JRGenericElement element)

### verifyExpression

    public void verifyExpression(JRExpression expression,
                                 java.lang.Object parent,
                                 java.lang.String mandatoryMessage,
                                 java.lang.String noTypeSetMessage,
                                 java.lang.Class expectedType,
                                 java.lang.String invalidTypeMessage)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com