Class SQLField

  • All Implemented Interfaces:
    NodeParser, com.inet.report.ReferencedObject, com.inet.report.ReferenceHolder, Validatable, java.io.Serializable

    public class SQLField
    extends Field
    implements com.inet.report.ReferenceHolder, Validatable
    This class represents a field for SQL statements.

    This class is part of the RDC.
    See Also:
    Serialized Form
    • Method Detail

      • setName

        public void setName​(java.lang.String name)
                     throws ReportException
        Sets the name of the SQL field. The name does not exists already, otherwise an exception will be thrown.
        Specified by:
        setName in class Field
        Parameters:
        name - Name of the SQL field
        Throws:
        ReportException - is thrown when name == null or name.length() == 0
        java.lang.IllegalArgumentException - is thrown when the name already exists.
        Since:
        6.0
      • getSQLExpression

        public java.lang.String getSQLExpression()
        Returns the value of the property 'SQL expression text'.
        Returns:
        The value of the property 'SQL expression text'.
        Since:
        6.0
      • setSQLExpression

        public void setSQLExpression​(java.lang.String formula)
                              throws ReportException
        Sets the value of the property 'SQL expression text'. The value type of the result of this SQL expression is fetched by the configured database.
        Parameters:
        formula - The new value of the property 'SQL expression text'.
        Throws:
        ReportException - is thrown if the SQL expression contains errors or a connection to the configured database fails.
        Since:
        6.0
      • changeAliasName

        public void changeAliasName​(java.lang.String oldAlias,
                                    java.lang.String newAlias)
        FOR INTERNAL USE ONLY
      • saveFieldXML2

        protected void saveFieldXML2​(java.io.PrintWriter pw,
                                     int depth)
        FOR INTERNAL USE ONLY
        Specified by:
        saveFieldXML2 in class Field
        Parameters:
        pw - the print writer
        depth - the current depth
      • addReferencedObject

        public final void addReferencedObject​(com.inet.report.ReferencedObject reference)
        FOR INTERNAL USE ONLY
        Specified by:
        addReferencedObject in interface com.inet.report.ReferenceHolder
        Since:
        6.0
      • getReferencedObjects

        public final com.inet.report.ReferencedObject[] getReferencedObjects()
        FOR INTERNAL USE ONLY
        Specified by:
        getReferencedObjects in interface com.inet.report.ReferenceHolder
        Since:
        6.0
      • getRealReferencedObjectCount

        public final int getRealReferencedObjectCount()
        FOR INTERNAL USE ONLY
        Specified by:
        getRealReferencedObjectCount in interface com.inet.report.ReferenceHolder
        Since:
        6.0
      • getReferencedObjectCount

        public final int getReferencedObjectCount()
        FOR INTERNAL USE ONLY
        Specified by:
        getReferencedObjectCount in interface com.inet.report.ReferenceHolder
      • removeReferencedObject

        public final void removeReferencedObject​(com.inet.report.ReferencedObject reference)
        FOR INTERNAL USE ONLY
        Specified by:
        removeReferencedObject in interface com.inet.report.ReferenceHolder
      • setReferences

        public final void setReferences()
        FOR INTERNAL USE ONLY
        Specified by:
        setReferences in interface com.inet.report.ReferenceHolder
      • resetReferences

        public final void resetReferences()
        FOR INTERNAL USE ONLY
        Specified by:
        resetReferences in interface com.inet.report.ReferenceHolder
      • isUsed

        public boolean isUsed()
        FOR INTERNAL USE ONLY
        Overrides:
        isUsed in class Field
        Since:
        6.0
      • parseElement

        public NodeParser parseElement​(com.inet.report.parser.XMLTag group,
                                       java.lang.String tag,
                                       org.xml.sax.Attributes atts,
                                       java.util.Map<java.lang.String,​java.lang.Object> parserMap)
                                throws FatalParserException
        FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY Internal method for reading report XML

        Parses an XML node with the given information, and returns either a sub-element which was created as a result, or null if no sub-element was created, i.e. the information was applied to the ReportComponent itself. Note that the parsing is highly tolerant, i.e. exceptions are intercepted and suppressed if at all possible.

        Specified by:
        parseElement in interface NodeParser
        Overrides:
        parseElement in class Field
        Parameters:
        group - XMLTag of the current node to be parsed, or null if there is no such current group. An XMLTag is a group of nodes bundled together, usually it is a Properties node such as CommonProperties, BorderProperties, etc.
        tag - The XMLTag to be parsed
        atts - The set of attributes in the current XMLTag
        parserMap - The map of current Parser.
        Returns:
        The NodeParser sub-element if one needed to be created, or null if none was created.
        Throws:
        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​(java.lang.String text,
                              java.util.Map<java.lang.String,​java.lang.Object> parserMap)
        FOR INTERNAL USE ONLY 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)

        Specified by:
        parseText in interface NodeParser
        Overrides:
        parseText in class Field
        Parameters:
        text - text encountered and to be stored
        parserMap - The map of current Parser.
      • duplicate

        public Field duplicate​(java.lang.String copyName)
        Duplicates this field with all its settings and returns the created Field with the given name. Note that the new formula field will not initially be referenced by any other report objects. If you duplicate a property formula, you will have to set the new formula as a separate property formula.
        Overrides:
        duplicate in class Field
        Parameters:
        copyName - the name the created field should have.
        Returns:
        the duplicated field.
      • getDatasource

        public Datasource getDatasource()
        Returns the datasource. This field use the datasource to get data from the database.
        Returns:
        the datasource (not null)
        Since:
        9.2
      • validate

        public Validity validate()
        Check if the object is valid and returns the state and details of possible errors.
        Specified by:
        validate in interface Validatable
        Returns:
        the current state, never null.