i-net Clear Reports

com.inet.report
Class JavaBean

java.lang.Object
  extended by com.inet.report.ReportComponent
      extended by com.inet.report.Element
          extended by com.inet.report.AbstractFontElement
              extended by com.inet.report.JavaBean
All Implemented Interfaces:
BorderProperties, FontProperties, GeneralProperties, HyperlinkProperties, NodeParser, com.inet.report.ReferenceHolder, java.io.Serializable, java.lang.Cloneable

public class JavaBean
extends AbstractFontElement
implements HyperlinkProperties

An instance of this class is an i-net Clear Reports Element that represents a Java Bean which can be rendered to a report. The Java bean must be a lightweight bean extending java.awt.Component.

Use Section.addJavaBean to create a JavaBean element.

Use the setBeanProperty methods to set a bean property to a Java Object or an i-net Clear Reports ForumulaField.

There are two methods for rendering a report. The default method paintToImage paints the view of the Java bean into a background image then draws the image to the report. If paintToImage is set to false, this class will attempt to render directly to the report (which may provide better quality, e.g when using fonts). Please note that the second method does not support components that use a Java Graphics2D object to paint themselves and currently does not support clipping.

Please note that the view (image) of the bean is taken directly after the beans' paint method returns. If the bean accesses its Graphics in threads or after the paint method the resulting view will be incorrect. The following example code creates a PDF report containing a javax.swing.JSlider component showing 75% of 100%:

 Engine engine = RDC.createEmptyEngine();
 Section section = (Section) engine.getSections().get(0);
 JavaBean javaBean = section.addJavaBean("javax.swing.JSlider", 1, 100, 3000, 315);
 javaBean.setBeanProperty("minimum", new Integer(0));
 javaBean.setBeanProperty("maximum", new Integer(100));
 javaBean.setBeanProperty("value", new Integer(75));
 engine.execute();
 FileOutputStream fos = new FileOutputStream("D:/exports/slider_bean.pdf");
 for( int i=1;i<=engine.getPageCount();i++ ) {
     fos.write(engine.getPageData(i));
 }
 fos.close();
 

See Also:
Section.addJavaBean(String, int, int, int, int), Serialized Form

Field Summary
 
Fields inherited from class com.inet.report.Element
BOX, CHART, CROSSTAB, CROSSTABCELL, CROSSTABCOLUMN, CROSSTABROW, CROSSTABSECTION, DATABASE_PICTURE, FIELD, FIELDPART, JAVABEAN, LINE, PARAGRAPH, PICTURE, SIGNATURE, SUBREPORT, TEXT, TEXTPART
 
Fields inherited from interface com.inet.report.FontProperties
FONT_DIALOG, FONT_MONOSPACED, FONT_SANS_SERIF, FONT_SERIF, FONT_STYLE_BOLD, FONT_STYLE_ITALIC, FONT_STYLE_STRIKETHROUGH, FONT_STYLE_UNDERLINE
 
Fields inherited from interface com.inet.report.BorderProperties
LINE_STYLE_DASHED, LINE_STYLE_DOTTED, LINE_STYLE_DOUBLE, LINE_STYLE_SINGLE, NO_LINE
 
Fields inherited from interface com.inet.report.GeneralProperties
ALIGN_HORIZONTAL_CENTER, ALIGN_HORIZONTAL_DEFAULT, ALIGN_HORIZONTAL_JUSTIFIED, ALIGN_HORIZONTAL_LEFT, ALIGN_HORIZONTAL_RIGHT
 
Method Summary
static void checkBean(java.lang.String className)
          Checks if the class named className is a valid lightweight java bean extending java.awt.Component.
 java.lang.String getBeanClassName()
          Returns the name of the beans's class
 java.awt.Component getBeanComponent()
          Return a instance of bean Component.
 java.beans.PropertyDescriptor[] getBeanPropertyDescriptorsForGUI()
          Returns those bean property descriptors that are suitable for setting via the i-net Desginer GUI.
 FormulaField getBeanPropertyFormula(java.lang.String name)
          Returns the current property FormulaField of the beans' property named name.
 java.lang.Object getBeanPropertyValue(java.lang.String name)
          Returns the current property value of the beans' property named name.
 java.beans.Customizer getCustomizer()
          Returns the customizer component if it is supported for this bean.
 java.util.List getPropertyFormulas()
          Returns a list with all property formulas that are set for this report element.
 double getScale()
          Returns the scaling factor used for this JavaBean.
 FormulaField getScaleFormula()
          Returns the formula used to determine the scaling factor of this JavaBean.
 boolean isPaintToImage()
          Returns whether the bean is set to "paint to an image", which makes sure that all Graphics2D methods are supported, however it also causes less graphical quality on higher zoom levels.
 void setBeanClassName(java.lang.String name)
          Sets the name of the beans' class
 void setBeanProperty(java.lang.String name, FormulaField field)
          Sets the beans property named name to be the value of the passed FormulaField.
 void setBeanProperty(java.lang.String name, java.lang.Object value)
          Sets the beans property named name to the passed value (while trying to convert to the properties' type).
 void setPaintToImage(boolean paintToImage)
          If the bean is paint to a image then all API methods of Graphics2D for paint() of the current JDK are supported.
 void setScale(double scale)
          Sets the scaling factor for this JavaBean element.
 void setScaleFormula(FormulaField scaleFormula)
          Sets a formula for the scaling factor of this JavaBean.
 
Methods inherited from class com.inet.report.AbstractFontElement
getFontColor, getFontColorFormula, getFontName, getFontNameFormula, getFontSize, getFontSizeFormula, getFontSizeTwips, getFontStyle, getFontStyleFormula, getStrikeoutFormula, getUnderlineFormula, isBold, isItalic, isStrikeout, isUnderline, parseElement, setBold, setFontColor, setFontColorFormula, setFontName, setFontNameFormula, setFontSize, setFontSizeFormula, setFontSizeTwips, setFontStyle, setFontStyleFormula, setItalic, setStrikeout, setStrikeoutFormula, setUnderline, setUnderlineFormula
 
Methods inherited from class com.inet.report.Element
addListener, copy, copyXML2, getBottomLineStyle, getBottomLineStyleFormula, getCanGrowCount, getCanGrowFormula, getCloseBorderOnPageBreakFormula, getDropShadowFormula, getEngine, getField, getForeColor, getForeColorFormula, getHorAlign, getHorAlignFormula, getHyperlinkUrl, getHyperlinkUrlFormula, getLeftLineStyle, getLeftLineStyleFormula, getParent, getRightLineStyle, getRightLineStyleFormula, getSuppressIfDuplicatedFormula, getTightHorizontalFormula, getToolTipsText, getToolTipsTextFormula, getTopLineStyle, getTopLineStyleFormula, indexOf, isCanGrow, isCloseBorderOnPageBreak, isDropShadow, isSuppressIfDuplicated, isTightHorizontal, paramString, removeListener, setBottomLineStyle, setBottomLineStyleFormula, setCanGrow, setCanGrowCount, setCanGrowFormula, setCloseBorderOnPageBreak, setCloseBorderOnPageBreakFormula, setDropShadow, setDropShadowFormula, setField, setForeColor, setForeColorFormula, setHorAlign, setHorAlignFormula, setHyperlinkUrl, setHyperlinkUrlFormula, setIndex, setLeftLineStyle, setLeftLineStyleFormula, setRightLineStyle, setRightLineStyleFormula, setSuppressIfDuplicated, setSuppressIfDuplicatedFormula, setTightHorizontal, setTightHorizontalFormula, setToolTipsText, setToolTipsTextFormula, setTopLineStyle, setTopLineStyleFormula
 
Methods inherited from class com.inet.report.ReportComponent
getBackColor, getBackColorFormula, getHeight, getKeepTogetherFormula, getSuppressFormula, getType, getWidth, getX, getY, isKeepTogether, isSuppress, setBackColor, setBackColorFormula, setHeight, setKeepTogether, setKeepTogetherFormula, setSuppress, setSuppressFormula, setWidth, setX, setY
 
Methods inherited from interface com.inet.report.HyperlinkProperties
getHyperlinkUrl, getHyperlinkUrlFormula, setHyperlinkUrl, setHyperlinkUrlFormula
 
Methods inherited from interface com.inet.report.BorderProperties
getBackColor, getBackColorFormula, setBackColor, setBackColorFormula
 
Methods inherited from interface com.inet.report.GeneralProperties
getKeepTogetherFormula, getSuppressFormula, isKeepTogether, isSuppress, setKeepTogether, setKeepTogetherFormula, setSuppress, setSuppressFormula
 
Methods inherited from interface com.inet.report.parser.NodeParser
isDOMParser, parseDOM, parseEndElement, parseText
 

Method Detail

setBeanClassName

public void setBeanClassName(java.lang.String name)
                      throws ReportException
Sets the name of the beans' class

Parameters:
name - The name of the beans' class
Throws:
ReportException - If there are problems finding or initializing the bean by the name given.

getBeanClassName

public java.lang.String getBeanClassName()
Returns the name of the beans's class

Returns:
The name of the beans' class

getCustomizer

public java.beans.Customizer getCustomizer()
Returns the customizer component if it is supported for this bean.

Returns:
the customizer component (null possible)
Since:
10.1

getBeanPropertyDescriptorsForGUI

public java.beans.PropertyDescriptor[] getBeanPropertyDescriptorsForGUI()
                                                                 throws ReportException
Returns those bean property descriptors that are suitable for setting via the i-net Desginer GUI.

Returns:
Those bean property descriptors that are suitable for setting via the i-net Desginer GUI.
Throws:
ReportException - If an exception occurs during Introspection. IntrospectionException

setBeanProperty

public void setBeanProperty(java.lang.String name,
                            FormulaField field)
                     throws ReportException
Sets the beans property named name to be the value of the passed FormulaField. The value is computed at report time.

Parameters:
name - The name of the beans' property
field - The formula that produces the beans properties' value
Throws:
ReportException - If a get or set method is missing for the property trying to be set.

setBeanProperty

public void setBeanProperty(java.lang.String name,
                            java.lang.Object value)
                     throws ReportException
Sets the beans property named name to the passed value (while trying to convert to the properties' type). Please note: name is the name of the property as defined in the JavaBeans API Specification (1.01), chapter 8.8 "Capitalization of inferred names".

Parameters:
name - Name of the beans property to set
value - Value of the property, should be != null and convertible to the properties' type
Throws:
ReportException - If a set or get method is missing for the property trying to be set.

getBeanPropertyFormula

public FormulaField getBeanPropertyFormula(java.lang.String name)
                                    throws ReportException
Returns the current property FormulaField of the beans' property named name.

Parameters:
name - The name of the beans property
Returns:
The current property FormulaField of the beans' property named name.
Throws:
ReportException - If problems occur while trying to access the formula, should never occur
Since:
6.5

getBeanPropertyValue

public java.lang.Object getBeanPropertyValue(java.lang.String name)
                                      throws ReportException
Returns the current property value of the beans' property named name. If this property is an i-net Clear Reports formula, the return value has type FormulaField.

Parameters:
name - The name of the beans property
Returns:
The current property value of the beans' property named name.
Throws:
ReportException - If the property specified by the given name could not be found
Since:
6.5

checkBean

public static void checkBean(java.lang.String className)
                      throws ReportException
Checks if the class named className is a valid lightweight java bean extending java.awt.Component.

Parameters:
className - Name to check whether it exists as a java bean.
Throws:
ReportException - If the bean could not be found, or is not valid (e.g. it is not public or not a component, etc.)
Since:
10.0

isPaintToImage

public boolean isPaintToImage()
Returns whether the bean is set to "paint to an image", which makes sure that all Graphics2D methods are supported, however it also causes less graphical quality on higher zoom levels.

Returns:
Returns whether the bean is set to "paint to an image"
See Also:
setPaintToImage(boolean)

setPaintToImage

public void setPaintToImage(boolean paintToImage)
If the bean is paint to a image then all API methods of Graphics2D for paint() of the current JDK are supported. On printing the result can be screened. It can be look like printed with a dot matrix printer.

Parameters:
paintToImage - The paintToImage to set.
See Also:
isPaintToImage()

getBeanComponent

public java.awt.Component getBeanComponent()
Return a instance of bean Component. This method is used for example by i-net Designer to create a preview of the component in the design view.

Returns:
Instance of the bean as a Component.

getPropertyFormulas

public java.util.List getPropertyFormulas()
Returns a list with all property formulas that are set for this report element.

Overrides:
getPropertyFormulas in class AbstractFontElement
Returns:
List of property formulas

setScale

public void setScale(double scale)
              throws java.lang.IllegalArgumentException
Sets the scaling factor for this JavaBean element. The scaling factory is used for both the width and the height of this JavaBean. At runtime a uniform scaling of this JavaBean will be done.

Parameters:
scale - The scaling factor to be used for this JavaBean.
Throws:
java.lang.IllegalArgumentException - If the supplied scale factor is less or equal to zero.
Since:
7.4
See Also:
getScale(), setScaleFormula(FormulaField), getScaleFormula()

getScale

public double getScale()
Returns the scaling factor used for this JavaBean.

Returns:
The current scaling factor of this JavaBean.
Since:
7.4
See Also:
setScale(double), setScaleFormula(FormulaField), getScaleFormula()

setScaleFormula

public void setScaleFormula(FormulaField scaleFormula)
Sets a formula for the scaling factor of this JavaBean. The set formula will override the value set by setScale(double). The formula should return a number value greater than zero.

Parameters:
scaleFormula - The formula which should be used to determine the scale factor for this JavaBean.
Since:
7.4
See Also:
getScaleFormula(), setScale(double), getScale()

getScaleFormula

public FormulaField getScaleFormula()
Returns the formula used to determine the scaling factor of this JavaBean.

Returns:
The formula used to determine the scaling factor of this JavaBean or null if no formula has been set.
Since:
7.4
See Also:
setScaleFormula(FormulaField), setScale(double), getScale()

i-net Clear Reports

Copyright © 1999-2011 by i-net software GmbH