Class RDC

  • All Implemented Interfaces:
    java.io.Serializable

    public class RDC
    extends java.lang.Object
    implements java.io.Serializable
    This is the main class of the Runtime Designer Component of i-net Clear Reports. Use this class to create a new, empty Engine (report).
    RDC submits you to create a new report at runtime, to format a report at runtime, bind fields at runtime, set the datasource at runtime, ... .

    Further on you can use RDC with an existing report file. Therefore create a new Engine in combination with the method setReportFile in Engine.

    In both cases (createEmptyEngine and new Engine( Engine.NO_EXPORT ) followed by setReportFile()) you can get and set the areas, fields and datasources with the resulting Engine.

    You can save your newly created or your changes on existing report design as XML file and load them.

    You can find a lot of samples in directory rdc of the sample directory.
    See Also:
    Engine, Area, Section, FieldElement, DatabasePicture, Box, CrossTab, Chart2, Line, Picture, Subreport, Text, Paragraph, TextPart, FieldPart, Element, Field, DatabaseField, DatabaseField, FormulaField, PromptField, SpecialField, GroupField, SummaryField, SQLField, SortField, Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int COLOR_AQUA
      ABGR Color constant for 'aqua color'.
      static int COLOR_BLACK
      ABGR Color constant for 'black color'.
      static int COLOR_BLUE
      ABGR Color constant for 'blue color'.
      static int COLOR_BROWN
      ABGR Color constant for 'brown color'.
      static int COLOR_FUCHSIA
      ABGR Color constant for 'fuchsia color'.
      static int COLOR_GRAY
      ABGR Color constant for 'gray color'.
      static int COLOR_GREEN
      ABGR Color constant for 'green color'.
      static int COLOR_LIME
      ABGR Color constant for 'lime color'.
      static int COLOR_MAROON
      ABGR Color constant for 'maroon color'.
      static int COLOR_NAVY
      ABGR Color constant for 'navy color'.
      static int COLOR_NO_COLOR
      ABGR Color constant for 'no color'.
      static int COLOR_OLIVE
      ABGR Color constant for 'olive color'.
      static int COLOR_PINK
      ABGR Color constant for 'pink color'.
      static int COLOR_PURPLE
      ABGR Color constant for 'purple color'.
      static int COLOR_RED
      ABGR Color constant for 'red color'.
      static int COLOR_SILVER
      ABGR Color constant for 'silver color'.
      static int COLOR_TEAL
      ABGR Color constant for 'teal color'.
      static int COLOR_WHITE
      ABGR Color constant for 'white color'.
      static int COLOR_YELLOW
      ABGR Color constant for 'yellow color'.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Engine createEmptyEngine​(java.lang.String export_fmt)
      Creates a new empty export Engine with a report and initialises new Areas (RH, PH, D, PF, RF) and new Sections (RH, PH, D, PF, RF) and set the export format.
      static Engine createMailingLabel​(Engine eng, int labelWidth, int labelHeight, int labelHorizontalDistance, int labelVerticalDistance, boolean acrossThenDown, java.util.List<Field> fields)
      After creating a new Engine and setting a database connection you can use this method to create a report for mailing labels, where you have to specify the height and width for one label and the distance between labels (horizontal and vertical).
      static java.lang.String encrypt​(java.lang.String value)
      FOR INTERNAL USE ONLY Obfuscate this string so it is not immediately readable.
      static CertificateInfoFactory getCertificateFactory()
      Returns the certificate factory that is used to sign PDF documents created with i-net Clear Reports.
      static java.awt.Font getFont​(java.lang.String name, int style, int size)
      FOR INTERNAL USE ONLY
      static Engine loadEngine​(java.io.File file)
      Reads the specified report template into a newly created Engine and returns this engine.
      The file parameter specifies the file or directory pathname from that the report template will be loaded.
      If an error occurs while loading the report template, you can then use the method Engine.getLoadExceptions() to get all errors.
      The format of the specified report template must be the i-net Clear Reports report file format.
      static Engine loadEngine​(java.io.File file, java.lang.String export_fmt)
      Reads the specified report template into a newly created Engine with the given export format and returns this engine.
      The file parameter specifies the file or directory pathname from that the report template will be loaded.
      If an error occurs while loading the report template, you can then use the method Engine.getLoadExceptions() to get all errors.
      The format of the specified report template must be the i-net Clear Reports report file format.
      static Engine loadEngine​(java.net.URL reportURL, java.io.InputStream in, java.lang.String exportFormat, java.util.Properties props)
      Reads an engine from the input stream into a newly created Engine with the given export format.
      static Engine loadEngine​(java.util.Properties properties)
      FOR INTERNAL USE ONLY
      static void saveEngine​(java.io.File file, Engine engine)
      Saves an Engine as report template into a file.
      static void saveEngine​(java.io.OutputStream out, Engine engine)
      Saves an Engine as report template into an output stream.
      static void saveEngineToDir​(java.io.File dir, Engine engine)
      Saves an Engine as report template into a directory.
      static void setCertificateInfoFactory​(CertificateInfoFactory factory)
      Sets the certificate factory that is used to sign PDF documents created with i-net Clear Reports.
      static void setEngineParams​(Engine engine, java.util.Properties props, PropertiesChecker checker, java.lang.Object req)
      FOR INTERNAL USE ONLY
      static int toCcColor​(java.awt.Color color)
      Returns the ABGR value representing the color (i.e. 0x000000FF for red).
      In general the alpha component is null, so the color space is a standard BGR color space.
      static java.awt.Color toJavaColor​(int abgr)
      Converts the ABGR color value (i.e. 0x000000FF for red) into a Java Color object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • COLOR_AQUA

        public static final int COLOR_AQUA
        ABGR Color constant for 'aqua color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_BLACK

        public static final int COLOR_BLACK
        ABGR Color constant for 'black color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_BLUE

        public static final int COLOR_BLUE
        ABGR Color constant for 'blue color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_FUCHSIA

        public static final int COLOR_FUCHSIA
        ABGR Color constant for 'fuchsia color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_GRAY

        public static final int COLOR_GRAY
        ABGR Color constant for 'gray color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_GREEN

        public static final int COLOR_GREEN
        ABGR Color constant for 'green color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_LIME

        public static final int COLOR_LIME
        ABGR Color constant for 'lime color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_MAROON

        public static final int COLOR_MAROON
        ABGR Color constant for 'maroon color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_NAVY

        public static final int COLOR_NAVY
        ABGR Color constant for 'navy color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_NO_COLOR

        public static final int COLOR_NO_COLOR
        ABGR Color constant for 'no color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_OLIVE

        public static final int COLOR_OLIVE
        ABGR Color constant for 'olive color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_PURPLE

        public static final int COLOR_PURPLE
        ABGR Color constant for 'purple color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_RED

        public static final int COLOR_RED
        ABGR Color constant for 'red color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_SILVER

        public static final int COLOR_SILVER
        ABGR Color constant for 'silver color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_TEAL

        public static final int COLOR_TEAL
        ABGR Color constant for 'teal color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_WHITE

        public static final int COLOR_WHITE
        ABGR Color constant for 'white color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_YELLOW

        public static final int COLOR_YELLOW
        ABGR Color constant for 'yellow color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_PINK

        public static final int COLOR_PINK
        ABGR Color constant for 'pink color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
      • COLOR_BROWN

        public static final int COLOR_BROWN
        ABGR Color constant for 'brown color'. For use with set*Color Methods in RDC.
        See Also:
        Constant Field Values
    • Method Detail

      • createMailingLabel

        public static Engine createMailingLabel​(Engine eng,
                                                int labelWidth,
                                                int labelHeight,
                                                int labelHorizontalDistance,
                                                int labelVerticalDistance,
                                                boolean acrossThenDown,
                                                java.util.List<Field> fields)
                                         throws ReportException
        After creating a new Engine and setting a database connection you can use this method to create a report for mailing labels, where you have to specify the height and width for one label and the distance between labels (horizontal and vertical). The page will be filled with labels as much as it is possible until (across and down). The printing direction has two states: across than down, a row will be filled first and down than across, a column will be filled first.
        Parameters:
        eng - The Engine that should be filled with mailing labels
        labelWidth - - the width of one single label
        labelHeight - - the height of one single label
        labelHorizontalDistance - - the horizontal distance between two labels
        labelVerticalDistance - - the vertical distance between two labels
        acrossThenDown - - true if labels should be printed across page first, else if labels should printed down page first set to false
        fields - - a list containing references to all fields that should be used in each label. The height of each field in label depends on labelheight and count of fields in label.
        Returns:
        A report for mailing labels
        Throws:
        ReportException - If an error occurs while trying to create areas and fields on the passed engine
        Since:
        6.0
      • getFont

        public static final java.awt.Font getFont​(java.lang.String name,
                                                  int style,
                                                  int size)
        FOR INTERNAL USE ONLY
        Parameters:
        name - The name of the font.
        style - The style for the font.
        size - The size of the font.
      • saveEngine

        public static void saveEngine​(java.io.File file,
                                      Engine engine)
                               throws ReportException
        Saves an Engine as report template into a file. It must have been loaded from an xml or rpt file previously or initialized using RDC or Engine.setReportFile(String). The file parameter specifies the file in that the report template will be stored.
        You need to call this method before the call of Engine.execute().

        Security note: The password is not saved by default. You should set DatabaseTables.setSavePassword(boolean).
        Parameters:
        file - The file to save the report to. If it is a directory then it will be saved as directory.
        engine - The Engine which should be saved as a report template file.
        Throws:
        ReportException - If there are problems while saving the engine, for example, if the engine has already been executed.
        Since:
        6.0
      • saveEngineToDir

        public static void saveEngineToDir​(java.io.File dir,
                                           Engine engine)
                                    throws ReportException
        Saves an Engine as report template into a directory. It must have been loaded from an xml or rpt file previously or initialized using RDC or Engine.setReportFile(String). The dir parameter specifies the directory the report template will be stored. If dir does not exists, it will be created.
        You need to call this method before the call of Engine.execute().

        Security note: The password is not saved by default. You should set DatabaseTables.setSavePassword(boolean).
        Parameters:
        dir - The direcotry file to save the report to.
        engine - The Engine which should be saved as a report template file.
        Throws:
        ReportException - If there are problems while saving the engine, for example, if the engine has already been executed.
        Since:
        9.1
      • saveEngine

        public static void saveEngine​(java.io.OutputStream out,
                                      Engine engine)
                               throws ReportException,
                                      java.io.IOException
        Saves an Engine as report template into an output stream. The out parameter specifies the stream the report template should be stored into.
        You must call this method before the call of Engine.execute().
        Security note: The password is not saved by default. You should set DatabaseTables.setSavePassword(boolean).
        Parameters:
        out - The output stream to save the report template.
        engine - The Engine which should be saved as a report template.
        Throws:
        ReportException - If there are problems while saving the engine, for example, if the engine has already been executed.
        java.io.IOException - if there are problems writing to the stream
        Since:
        8.2
      • loadEngine

        public static Engine loadEngine​(java.io.File file)
                                 throws ReportException
        Reads the specified report template into a newly created Engine and returns this engine.
        The file parameter specifies the file or directory pathname from that the report template will be loaded.
        If an error occurs while loading the report template, you can then use the method Engine.getLoadExceptions() to get all errors.
        The format of the specified report template must be the i-net Clear Reports report file format. If your file is saved in binary format or if you do not know the file type of the report template (whether it is a binary format such as Crystal Reports or an i-net Clear Reports format), then use Engine.setReportFile(String) instead. This method will detect the file format automatically.
        Parameters:
        file - The report template file or directory pathname that should be loaded into a new engine.
        Returns:
        The newly created Engine, initialized with the report template from file.
        Throws:
        ReportException - If the provided report template is a binary report template (e.g. from Crystal Reports) or another error occurred during loading the report.
        Since:
        6.0
        See Also:
        Engine.setReportFile(String), saveEngine(File, Engine)
      • encrypt

        public static java.lang.String encrypt​(java.lang.String value)
        FOR INTERNAL USE ONLY Obfuscate this string so it is not immediately readable. The obfuscated String may vary between two calls to this method.
        Parameters:
        value - String to encrypt
        Returns:
        Encrypted string
      • setCertificateInfoFactory

        public static void setCertificateInfoFactory​(CertificateInfoFactory factory)
        Sets the certificate factory that is used to sign PDF documents created with i-net Clear Reports.
        Parameters:
        factory - instance of certificate factory that will be used to get certificate info.
        Since:
        9.1
      • getCertificateFactory

        public static CertificateInfoFactory getCertificateFactory()
        Returns the certificate factory that is used to sign PDF documents created with i-net Clear Reports.
        Returns:
        the certificate factory or null if no factory has been set.
        Since:
        9.1