Class AbstractDesignerDataModel

java.lang.Object
com.inet.designer.AbstractDesignerDataModel
All Implemented Interfaces:
DesignerDataModel
Direct Known Subclasses:
BasicDesignerDataModel

public abstract class AbstractDesignerDataModel extends Object implements DesignerDataModel
The data model describes the way the i-net Designer creates, loads and stores its reports. The default implementation is based on the file system, but you may want to store the reports in a database instead or maybe you simply want to restrict the access to certain files.
  • Constructor Details

    • AbstractDesignerDataModel

      public AbstractDesignerDataModel()
      Initializes this DesignerDataModel implementation.
      Since:
      6.0
  • Method Details

    • getApplicationDirectory

      public File getApplicationDirectory()
      Returns the location of the application directory which is the directory where the designer is located in.
      Specified by:
      getApplicationDirectory in interface DesignerDataModel
      Returns:
      The directory where the designer is located in.
      Since:
      7.0
    • isReportWizardEnabled

      public boolean isReportWizardEnabled()
      Returns true if a new report shall be created using the ReportWizard.
      Specified by:
      isReportWizardEnabled in interface DesignerDataModel
      Returns:
      true <=> Create a new report using the ReportWizard.
      Since:
      7.0
    • isInetTemplatesEnabled

      public boolean isInetTemplatesEnabled()
      Returns true if the templates supplied through i-net will be enabled or not.
      Specified by:
      isInetTemplatesEnabled in interface DesignerDataModel
      Returns:
      true <=> The templates supplied through i-net will be enabled.
      Since:
      7.0
    • getAvailableFonts

      public ArrayList<com.inet.font.FontFamily> getAvailableFonts()
      Returns a list of all available fonts for the designer.
      Specified by:
      getAvailableFonts in interface DesignerDataModel
      Returns:
      A list of all available fonts.
      Since:
      9.1
    • getAvailableFontsFromRepository

      public List<com.inet.font.FontFamily> getAvailableFontsFromRepository()
      fetches a list of fonts available on the repository configured for the designer
      Specified by:
      getAvailableFontsFromRepository in interface DesignerDataModel
      Returns:
      list of fonts available on the repository configured for the designer
      Since:
      9.2
    • isPreviewTabVisible

      public boolean isPreviewTabVisible()
      Checks if the preview tab should be visible or not.
      Specified by:
      isPreviewTabVisible in interface DesignerDataModel
      Returns:
      true if the preview tab should be visible otherwise false
    • setPreviewTabVisible

      public void setPreviewTabVisible(boolean previewTabVisible)
      Use this method to enable/disable the preview tab of the i-net Designer.
      Specified by:
      setPreviewTabVisible in interface DesignerDataModel
      Parameters:
      previewTabVisible - true to allow, false to deny
      Since:
      6.0
    • isDatabaseObjectVisible

      public boolean isDatabaseObjectVisible(int databaseObjectType, String databaseObjectName)
      Checks if the given database object should be visible in the database browser.
      Specified by:
      isDatabaseObjectVisible in interface DesignerDataModel
      Parameters:
      databaseObjectType - The type of the database object. This will be one of the following table, system table, view or stored procedure
      databaseObjectName - The name of the database object (e.g. of a table)
      Returns:
      In the AbstractDesignerDataModel this will always return true
      Since:
      7.0
    • isDatabaseChangeAllowed

      public boolean isDatabaseChangeAllowed()
      Check if the database configuration may be changed.
      Specified by:
      isDatabaseChangeAllowed in interface DesignerDataModel
      Returns:
      true if it is allowed to change the database configuration.
      Since:
      6.0
    • isOpenAllowed

      public boolean isOpenAllowed()
      Check if opening reports is allowed.
      Specified by:
      isOpenAllowed in interface DesignerDataModel
      Returns:
      true if it is allowed to open reports
      Since:
      6.0
    • isSaveAllowed

      public boolean isSaveAllowed()
      Check if save is allowed.
      Specified by:
      isSaveAllowed in interface DesignerDataModel
      Returns:
      true if it is allowed to save reports
      Since:
      6.0
    • isSaveAsAllowed

      public boolean isSaveAsAllowed()
      Check if save as is allowed.
      Specified by:
      isSaveAsAllowed in interface DesignerDataModel
      Returns:
      true if it is allowed to save reports with a new name (Save As)
      Since:
      6.0
    • isTablesChangeAllowed

      public boolean isTablesChangeAllowed()
      Check if tables may be added or removed and if the links may be changed.
      Specified by:
      isTablesChangeAllowed in interface DesignerDataModel
      Returns:
      true if it is allowed to add or remove tables
      Since:
      6.0
    • setDatabaseChangeAllowed

      public void setDatabaseChangeAllowed(boolean databaseChangeAllowed)
      Set if changes to the connection are allowed.
      Specified by:
      setDatabaseChangeAllowed in interface DesignerDataModel
      Parameters:
      databaseChangeAllowed - true to allow, false to deny
      Since:
      6.0
    • setOpenAllowed

      public void setOpenAllowed(boolean openAllowed)
      Set if open is allowed.
      Specified by:
      setOpenAllowed in interface DesignerDataModel
      Parameters:
      openAllowed - true to allow, false to deny
      Since:
      6.0
    • setSaveAllowed

      public void setSaveAllowed(boolean saveAllowed)
      Set if save is allowed.
      Specified by:
      setSaveAllowed in interface DesignerDataModel
      Parameters:
      saveAllowed - true to allow, false to deny
      Since:
      6.0
    • setSaveAsAllowed

      public void setSaveAsAllowed(boolean saveAsAllowed)
      Set if save as is allowed.
      Specified by:
      setSaveAsAllowed in interface DesignerDataModel
      Parameters:
      saveAsAllowed - true to allow, false to deny
      Since:
      6.0
    • setTablesChangeAllowed

      public void setTablesChangeAllowed(boolean tablesChangeAllowed)
      Set if tables may be changed.
      Specified by:
      setTablesChangeAllowed in interface DesignerDataModel
      Parameters:
      tablesChangeAllowed - true to allow, false to deny
      Since:
      6.0
    • isDesignNeedsConnection

      public boolean isDesignNeedsConnection()
      This method checks if the with the i-net Designer opened reports need a database connection.
      Specified by:
      isDesignNeedsConnection in interface DesignerDataModel
      Returns:
      true if the report needs a connection, false if not.
      Since:
      6.0
    • setDesignNeedsConnection

      public void setDesignNeedsConnection(boolean designNeedsConnection)
      Set if the with the i-net Designer opened reports need a database connection.
      Specified by:
      setDesignNeedsConnection in interface DesignerDataModel
      Parameters:
      designNeedsConnection - true if the report needs a connection, false if not.
      Since:
      6.0
    • isInvalidSPSelectable

      public boolean isInvalidSPSelectable()
      This method checks if a invalid connection is selectable in the virtual database dialog.
      Specified by:
      isInvalidSPSelectable in interface DesignerDataModel
      Returns:
      true if invalid SPs are selectable, false if not.
      Since:
      6.0
    • setIsInvalidSPSelectable

      public void setIsInvalidSPSelectable(boolean newSIISPS)
      Set if a invalid connection is selectable in the virtual database dialog.
      Parameters:
      newSIISPS - true if invalid SPs are selectable, false if not.
      Since:
      6.0
    • isAddGroupAllowed

      public boolean isAddGroupAllowed()
      This method checks if its allowed to add new groups to any report.
      Specified by:
      isAddGroupAllowed in interface DesignerDataModel
      Returns:
      true if its allowed to add new groups, false if not.
      Since:
      6.0
    • setAddGroupAllowed

      public void setAddGroupAllowed(boolean isAddGroupAllowed)
      Set if its allowed to add new groups to the reports.
      Specified by:
      setAddGroupAllowed in interface DesignerDataModel
      Parameters:
      isAddGroupAllowed - true if its allowed to add new groups, false if not.
      Since:
      6.0
    • isCloseAllowed

      public boolean isCloseAllowed()
      This method checks if its allowed to close reports opened with the i-net Designer.
      Specified by:
      isCloseAllowed in interface DesignerDataModel
      Returns:
      true if its allowed to close the report, false if not.
      Since:
      6.0
    • setCloseAllowed

      public void setCloseAllowed(boolean isCloseAllowed)
      Set if its allowed to close reports opened with the i-net Designer.
      Specified by:
      setCloseAllowed in interface DesignerDataModel
      Parameters:
      isCloseAllowed - true if its allowed to close the report, false if not.
      Since:
      6.0
    • isRemoveGroupAllowed

      public boolean isRemoveGroupAllowed()
      This method checks if its allowed to remove a group from the report opened with the i-net Designer.
      Specified by:
      isRemoveGroupAllowed in interface DesignerDataModel
      Returns:
      true if its allowed to remove groups, false if not.
      Since:
      6.0
    • setRemoveGroupAllowed

      public void setRemoveGroupAllowed(boolean isRemoveGroupAllowed)
      Set if its allowed to remove a group from the report opened with the i-net Designer.
      Specified by:
      setRemoveGroupAllowed in interface DesignerDataModel
      Parameters:
      isRemoveGroupAllowed - true if its allowed to remove groups, false if not.
      Since:
      6.0
    • isReopenAllowed

      public boolean isReopenAllowed()
      This method checks if its allowed to reopen a report with the i-net Designer.
      Specified by:
      isReopenAllowed in interface DesignerDataModel
      Returns:
      true if its allowed to reopen a report, false if not.
      Since:
      6.0
    • setReopenAllowed

      public void setReopenAllowed(boolean isReopenAllowed)
      Set if its allowed to reopen a report with the i-net Designer.
      Specified by:
      setReopenAllowed in interface DesignerDataModel
      Parameters:
      isReopenAllowed - true if its allowed to reopen a report, false if not.
      Since:
      6.0
    • setAddElementAllowed

      public void setAddElementAllowed(boolean isAddElementAllowed, int elementType)
      Set if its allowed to add a element to a report with the i-net Designer.
      Specified by:
      setAddElementAllowed in interface DesignerDataModel
      Parameters:
      isAddElementAllowed - true if its allowed to add the element, false if not.
      elementType - Type of the element you want to allow/deny.
      Since:
      6.0
      See Also:
    • isAddElementAllowed

      public boolean isAddElementAllowed(int elementType)
      This method checks if its allowed to add a element to a report with the i-net Designer.
      Specified by:
      isAddElementAllowed in interface DesignerDataModel
      Parameters:
      elementType - Type of the element you want to allow/deny.
      Returns:
      True if elements of the supplied type can be added to the report false otherwise.
      Since:
      6.0
      See Also:
    • setRemoveElementAllowed

      public void setRemoveElementAllowed(boolean isRemoveElementAllowed, int elementType)
      Set if its allowed to remove a element from a report with the i-net Designer.
      Specified by:
      setRemoveElementAllowed in interface DesignerDataModel
      Parameters:
      isRemoveElementAllowed - true if its allowed to remove the element, false if not.
      elementType - Type of the element you want to allow/deny.
      Since:
      6.0
      See Also:
    • isRemoveElementAllowed

      public boolean isRemoveElementAllowed(int elementType)
      This method checks if its allowed to remove a element from a report with the i-net Designer.
      Specified by:
      isRemoveElementAllowed in interface DesignerDataModel
      Parameters:
      elementType - Type of the element you want to allow/deny.
      Returns:
      True if elements of the supplied type can be removed from the report false otherwise.
      Since:
      6.0
      See Also:
    • isAddSectionAllowed

      public boolean isAddSectionAllowed()
      This method checks if its allowed to add a new section to a report with the i-net Designer.
      Specified by:
      isAddSectionAllowed in interface DesignerDataModel
      Returns:
      true if its allowed to add a section to a report, false if not.
      Since:
      6.0
    • setAddSectionAllowed

      public void setAddSectionAllowed(boolean isAddSectionAllowed)
      Set if its allowed to add a new section to a report with the i-net Designer.
      Specified by:
      setAddSectionAllowed in interface DesignerDataModel
      Parameters:
      isAddSectionAllowed - true if its allowed to add a section to a report, false if not.
      Since:
      6.0
    • isRemoveSectionAllowed

      public boolean isRemoveSectionAllowed()
      This method checks if its allowed to remove section from a report with the i-net Designer.
      Specified by:
      isRemoveSectionAllowed in interface DesignerDataModel
      Returns:
      true if its allowed to remove a section from a report, false if not.
      Since:
      6.0
    • setRemoveSectionAllowed

      public void setRemoveSectionAllowed(boolean isRemoveSectionAllowed)
      Set if its allowed to remove a section from a report with the i-net Designer.
      Specified by:
      setRemoveSectionAllowed in interface DesignerDataModel
      Parameters:
      isRemoveSectionAllowed - true if its allowed to remove a section from a report, false if not.
      Since:
      6.0
    • openParameterDialog

      public void openParameterDialog(PromptField parameterField)
      This method is called if the user wants to open the dialog for a parameter field. The dialog is responsible to create an undo point in case of a modification. This function may be called only if an editor has been opened.
      Specified by:
      openParameterDialog in interface DesignerDataModel
      Parameters:
      parameterField - The parameter field if already existent, otherwise null Note: Since version 7.0 this method does not return the modified field anymore.
    • openSQLDialog

      public SQLField openSQLDialog(SQLField sqlField)
      This method is called if the user wants to open the dialog for a SQL field. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openSQLDialog in interface DesignerDataModel
      Parameters:
      sqlField - The SQL field if already existent, otherwise null
      Returns:
      The new SQL field or null if no field was created
    • openSumDialog

      public void openSumDialog(SummaryField sumfield)
      This method is called if the user wants to open the dialog for a summary field. The dialog is responsible to create an undo point in case of a modification. This function may only be called if an editor has been opened.
      Specified by:
      openSumDialog in interface DesignerDataModel
      Parameters:
      sumfield - The parameter field if already existent, otherwise null
    • openGroupDialog

      public void openGroupDialog(Group group)
      This method is called if the user wants to open the dialog for a group. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openGroupDialog in interface DesignerDataModel
      Parameters:
      group - The group if already existent, otherwise null
    • openSummaryInfoDialog

      public void openSummaryInfoDialog()
      This method is called if the user wants to open the Summary Info dialog. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openSummaryInfoDialog in interface DesignerDataModel
    • openSortRecordsDialog

      public void openSortRecordsDialog()
      This method is called if the user wants to open the Records dialog. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openSortRecordsDialog in interface DesignerDataModel
    • openSubreportLinksDialog

      public void openSubreportLinksDialog(String reportName)
      This method is called if the user wants to open the Subreport links dialog. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openSubreportLinksDialog in interface DesignerDataModel
      Parameters:
      reportName - Name of the subreport or null if no subreport was selected
    • openSectionDialog

      public void openSectionDialog(Section section)
      This method is called if the user wants to open the Section dialog. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openSectionDialog in interface DesignerDataModel
      Parameters:
      section - the selected section or null if no section was selected
    • openVisualDatabaseWizardDialog

      public void openVisualDatabaseWizardDialog()
      This method is called if the user wants to open the Visual Database Wizard dialog. The dialog is responsible to create an undo point in case of a modification. Note: It is not allowed to call the super method of this dialog, because it will not show the correct database configuration.
      Specified by:
      openVisualDatabaseWizardDialog in interface DesignerDataModel
    • openJavaBeanDialog

      public void openJavaBeanDialog()
      This method is called if the user wants to open the Java Bean dialog. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openJavaBeanDialog in interface DesignerDataModel
    • openUserFormulaDialog

      public FormulaField openUserFormulaDialog(FormulaField formulafield)
      This method is called if the user wants to open the dialog for a user defined formula. The dialog is responsible to create an undo point in case of a modification. This function may be called only if an editor has been opened.
      Specified by:
      openUserFormulaDialog in interface DesignerDataModel
      Parameters:
      formulafield - The formula field if already existent, otherwise null
      Returns:
      The new formula field or null if no field was created
    • openPropertyFormulaDialog

      public FormulaField openPropertyFormulaDialog(FormulaField formulafield, int valueType, ReportComponent element, Object defaultValue, String property, boolean isTristate)
      FOR INTERNAL USE ONLY This method is called if the user wants to open the dialog for a property formula. The dialog is responsible to create an undo point in case of a modification. This function may be called only if an editor has been opened.
      Specified by:
      openPropertyFormulaDialog in interface DesignerDataModel
      Parameters:
      formulafield - The FormulaField if it already exists, otherwise null
      valueType - The type of the formulas return value
      element - The element thats formula this is
      defaultValue - The default value for this formula
      property - The name of the property for which a formula is being created. Must not be null.
      isTristate - whether the returned property formula is set to more than one Element. When in doubt, set to false
      Returns:
      The new formula field or null if no field was created
    • openRecordSelectionFormulaDialog

      public FormulaField openRecordSelectionFormulaDialog(FormulaField formulafield)
      This method is called if the user wants to open the dialog for a record selection formula. The dialog is responsible to create an undo point in case of a modification. This function may be called only if an editor has been opened.
      Specified by:
      openRecordSelectionFormulaDialog in interface DesignerDataModel
      Parameters:
      formulafield - The formulafield if it already exists, otherwise null
      Returns:
      The new formula field or null if no field was created
    • openGroupSelectionFormulaDialog

      public FormulaField openGroupSelectionFormulaDialog(FormulaField formulafield)
      This method is called if the user wants to open the dialog for a group selection formula. The dialog is responsible to create an undo point in case of a modification. This function may be called only if an editor has been opened.
      Specified by:
      openGroupSelectionFormulaDialog in interface DesignerDataModel
      Parameters:
      formulafield - The formulafield if already existent, otherwise null
      Returns:
      The new formula field or null if no field was created
    • closedReport

      public void closedReport(Engine engine)
      This method is called if a report was closed.
      Specified by:
      closedReport in interface DesignerDataModel
      Parameters:
      engine - the engine of the closed report.
    • addedSubreport

      public void addedSubreport(Engine engine)
      This method is called if a subreport was added to the current report.
      Specified by:
      addedSubreport in interface DesignerDataModel
      Parameters:
      engine - the engine of the added subreport.
    • removedSubreport

      public void removedSubreport(Engine engine)
      This method will be called if a subreport was removed from the current report.
      Specified by:
      removedSubreport in interface DesignerDataModel
      Parameters:
      engine - the engine of the removed subreport.
    • openedSubreport

      public void openedSubreport(Engine engine)
      This method is called if a subreport was opened by the user to edit it. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openedSubreport in interface DesignerDataModel
      Parameters:
      engine - the engine of the opened subreport.
    • closedSubreport

      public void closedSubreport(Engine engine)
      This method is called if a subreport was closed by the user.
      Specified by:
      closedSubreport in interface DesignerDataModel
      Parameters:
      engine - the engine of the closed subreport.
    • addedGroup

      public void addedGroup(Group group)
      This method is called if a group was added to the report by the user.
      Specified by:
      addedGroup in interface DesignerDataModel
      Parameters:
      group - the added group.
    • removedGroup

      public void removedGroup(Group group)
      This method is called if a group was removed from the report by the user.
      Specified by:
      removedGroup in interface DesignerDataModel
      Parameters:
      group - the removed group.
    • addedElement

      public void addedElement(Element element)
      This method is called if the user has added an element to the report.
      Specified by:
      addedElement in interface DesignerDataModel
      Parameters:
      element - the added element.
    • removedElement

      public void removedElement(Element element)
      This method is called if the user has removed an element from the report.
      Specified by:
      removedElement in interface DesignerDataModel
      Parameters:
      element - the removed element.
    • reopenReport

      public Engine reopenReport(File reportFile) throws ReportException
      Load a report. If the location was chosen from the list of last opened reports, it is the programmer's task to load the report and return the engine.
      Specified by:
      reopenReport in interface DesignerDataModel
      Parameters:
      reportFile - the file object which contains the path to the report.
      Returns:
      the engine of the loaded report
      Throws:
      ReportException - to indicate nothing was loaded as the result of a Report problem
    • openPageLayoutDialog

      public void openPageLayoutDialog()
      This method is called if the user wants to open the Page Layout dialog. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openPageLayoutDialog in interface DesignerDataModel
    • isDataSourceManagerAllowed

      public boolean isDataSourceManagerAllowed()
      Returns whether the datasource manager dialog is accessible or not.
      Specified by:
      isDataSourceManagerAllowed in interface DesignerDataModel
      Returns:
      True if the datasource manager dialog can be used false otherwise.
    • setDataSourceManagerAllowed

      public void setDataSourceManagerAllowed(boolean isAllowed)
      Sets whether the datasource manager dialog shall be accessible or not.
      Specified by:
      setDataSourceManagerAllowed in interface DesignerDataModel
      Parameters:
      isAllowed - True if the datasource manager dialog should be accessible false otherwise.
    • openRepositoryConfigDialog

      public void openRepositoryConfigDialog()
      Opens a repository configuration dialog which enables the user to choose the repository URL he wants to employ when opening and saving reports on a repository.
      Specified by:
      openRepositoryConfigDialog in interface DesignerDataModel
      See Also:
    • openFacturMappingDialog

      public void openFacturMappingDialog(String searchterm)
      This method is called if the user wants to open the Fractur mapping dialog. The dialog is responsible to create an undo point in case of a modification.
      Specified by:
      openFacturMappingDialog in interface DesignerDataModel
      Parameters:
      searchterm - the term to search in the factur mapping dialog, can be null
    • loadReportsFrom

      public Engine[] loadReportsFrom(Component parent, URL initialURL) throws IOException, ReportException
      Loads one or more report. Choosing a location is the task of the programmer who may use any Swing component.
      Specified by:
      loadReportsFrom in interface DesignerDataModel
      Parameters:
      parent - the parent component which should be used in dialogs.
      initialURL - the initial URL for the FileChooser. This could a a location file URL or a HTTP URL of a repository.
      Returns:
      null to indicate nothing was loaded (choice of the user) or an array of engines of the loaded report
      Throws:
      IOException - to indicate nothing was loaded as the result of an IO problem
      ReportException - to indicate nothing was loaded as the result of a Report problem
    • saveOnRepository

      public void saveOnRepository()
      Opens up a save dialog which enables the user to save a report onto the repository configured for the designer.
      Specified by:
      saveOnRepository in interface DesignerDataModel
      See Also:
    • openFromRepository

      public void openFromRepository()
      Opens a dialog enabling the user to choose a report file to open from the repository configured for the designer.
      Specified by:
      openFromRepository in interface DesignerDataModel
      See Also:
    • createViewer

      public SwingReportViewer createViewer()
      creates a new SwingReportViewer and initializes it with the necessary ViewerContext, as well as piping its log stream to the appropriate position (via SwingReportViewer.setLoggingStream(java.io.PrintStream). It is recommended to first call the default implementation in AbstractDesignerDataModel and then configure the created viewer to your liking if you are customizing this behavior.
      Specified by:
      createViewer in interface DesignerDataModel
      Returns:
      new SwingReportViewer instance, fully initialized