Klasse SQLValueProvider

java.lang.Object
com.inet.report.SQLValueProvider
Alle implementierten Schnittstellen:
DynamicValueProvider, NodeParser, Serializable
Bekannte direkte Unterklassen:
FieldValueProvider, QueryValueProvider

public abstract class SQLValueProvider extends Object implements DynamicValueProvider, NodeParser
This implementation of DynamicValueProvider takes a given SQL statement and executes it as a query on the given data source. This is done via Connection.createStatement() and Statement.executeQuery(String), which means that the SQL query can be any standard SQL statement. SPs also work for most databases, but not for Oracle or PostgreSQL.
The ResultSet returned should have one column for the value and, if desired, one for the description of each default value.
Seit:
7.0
Siehe auch:
  • Felddetails

    • MAX_RECORDS

      public static final int MAX_RECORDS
      The maximum number of records that will be fetched before the rest are ignored and the prompt becomes editable.
      Siehe auch:
  • Methodendetails

    • getDefaultValues

      public DefaultValue[] getDefaultValues()
      Returns an array of DefaultValue objects for a prompt field. Will never return null.
      Angegeben von:
      getDefaultValues in Schnittstelle DynamicValueProvider
      Gibt zurück:
      an array of DefaultValue objects for a prompt field. Will never return null.
    • getDefaultValues

      public void getDefaultValues(@Nonnull Function<DefaultValue, Boolean> func)
      Query the DefaultValue objects for a prompt field. Its stops if the function return false.
      Angegeben von:
      getDefaultValues in Schnittstelle DynamicValueProvider
      Parameter:
      func - the function to use to compute the value
      Löst aus:
      IllegalStateException - if the query returns a value or a description longer than 50000 characters.
    • getSQL

      public abstract String getSQL() throws ReportException, SQLException
      Returns the query which is to be used for fetching the values and optionally descriptions dynamically.
      Gibt zurück:
      query to be used
      Löst aus:
      ReportException - if the database structure does allow a single joined query
      SQLException - on SQL errors during requesting metadata
      Seit:
      7.0
    • getDatasource

      public abstract Datasource getDatasource()
      Returns the data source the query is to be run on
      Gibt zurück:
      data source to use
      Seit:
      7.0
    • isDOMParser

      public boolean isDOMParser()
      FOR INTERNAL USE ONLY Internal method for reading report XML

      Returns whether this node is to be read via a DOM parser.

      Angegeben von:
      isDOMParser in Schnittstelle NodeParser
      Gibt zurück:
      true if this node is to be read via a DOM parser, false otherwise.
    • parseEndElement

      public void parseEndElement(com.inet.report.parser.XMLTag group, String tag, Map<String,Object> parserMap) throws FatalParserException
      FOR INTERNAL USE ONLY Internal method for reading report XML

      Receive notification of the end of an XML tag.

      Angegeben von:
      parseEndElement in Schnittstelle NodeParser
      Parameter:
      group - XMLTag of the current node to be parsed, or null if there is no such current group.
      tag - The XMLTag to be parsed
      parserMap - The map of current Parser.
      Löst aus:
      FatalParserException - if an exception occurs which causes the report to not be able to be read: causes the abortion of the reading of the report.
    • parseText

      public void parseText(String text, Map<String,Object> parserMap)
      FOR INTERNAL USE ONLY Internal method for reading report XML

      This method is called if text was encountered in the context of this node. (Examples would be a formula's text or a text element's text)

      Angegeben von:
      parseText in Schnittstelle NodeParser
      Parameter:
      text - text encountered and to be stored
      parserMap - The map of current Parser.
    • parseDOM

      public void parseDOM(Node node, Map<String,Object> parserMap) throws FatalParserException
      FOR INTERNAL USE ONLY Internal method for reading report XML

      Parses the node.

      Angegeben von:
      parseDOM in Schnittstelle NodeParser
      Parameter:
      node - the node
      parserMap - The map of current Parser.
      Löst aus:
      FatalParserException - if an exception occurs which causes the report to not be able to be read: causes the abortion of the reading of the report.