Class SqlMetaConst

    • Field Detail

      • logger

        final org.slf4j.Logger logger
        The internal slf4j logger.
      • caseConversion

        private SqlInputValue.Code caseConversion
        Which conversion should be done on input value.
      • not

        private boolean not
        An indicator, which is used to control, how the input value is added to the final ANSI SQL. A standard behavior is to add an input value only in the case it's not empty. The definition of the emptiness depends on the type of the input value.
      • elements

        private List<String> elements
        The list of sub-elements. Every sub-element represents the name of an attribute in the input class (the static parameters class). In case there're more names, the input classes are embedded one in other.
      • sqlType

        private SqlType sqlType
        The type of this input value. It can be Hibernate or an internal type.
      • values

        Map<String,​String> values
        Values for a special identifier handling, for example a sequence for an identity.
    • Constructor Detail

      • SqlMetaConst

        SqlMetaConst​(SqlInputValue.Code caseConversion)
        Creates a new instance of this entity. Used from inside ANTLR parser.
        Parameters:
        caseConversion - which conversion should be done on inputValue
      • SqlMetaConst

        SqlMetaConst​(SqlInputValue.Code caseConversion,
                     boolean not)
        Creates a new instance of this entity. Used from inside ANTLR parser.
        Parameters:
        caseConversion - which conversion should be done on inputValue
        not - an indicator, which is used to control, how the input value is added to the final ANSI SQL
      • SqlMetaConst

        SqlMetaConst​(SqlInputValue.Code caseConversion,
                     boolean not,
                     SqlType type)
        Creates a new instance of this entity. Used from inside ANTLR parser.
        Parameters:
        caseConversion - which conversion should be done on inputValue
        not - an indicator, which is used to control, how the input value is added to the final ANSI SQL
        type - the type of this input value, which can be Hibernate or an internal type
    • Method Detail

      • addConst

        void addConst​(String name)
        Adds a new name. This is the name of an attribute in the input class (the static parameters class). In case there're more names, the input classes are embedded one in other.
        Parameters:
        name - the next name in the list of names
      • setMetaType

        void setMetaType​(String metaTypeName,
                         SqlMetaType metaType)
        Sets the internal type of this input value.
        Parameters:
        metaTypeName - an internal type name
        metaType - an internal type
      • setValues

        public void setValues​(String value,
                              String value2)
        Sets the values. Right now only for the special of the enumeration type of the input value. The logical evaluation of the input value is based on the comparison to this value.
        Parameters:
        value - the value for special treatment, might be an identifier of value2
        value2 - the value for special treatment
      • getSqlType

        SqlType getSqlType()
        Returns the type of this input value. It can be Hibernate or an internal type.
        Returns:
        the type of this input value
      • setNot

        void setNot​(boolean not)
        Sets the indicator, which is used to control, how the input value is added to the final ANSI SQL. A standard behavior is to add an input value only in the case it's not empty. The definition of the emptiness depends on the type of the input value.
        Parameters:
        not - a new indicator value
      • isNot

        boolean isNot()
        Returns the indicator, which is used to control, how the input value is added to the final ANSI SQL. A standard behavior is to add an input value only in the case it's not empty. The definition of the emptiness depends on the type of the input value.
        Returns:
        the indicator value
      • getElements

        public List<String> getElements()
        Returns the list of sub-elements
        Returns:
        the list of sub-elements
      • setElements

        public void setElements​(List<String> elements)
        Sets the list of sub-elements.
        Parameters:
        elements - the list of sub-elements
      • process

        public SqlProcessResult process​(SqlProcessContext ctx)
        The main contract for a dynamic ANSI SQL Query generation. Also known as a META SQL processing. The composite pattern main contract. All ANTLR grammar based elements must implement this contract.
        Specified by:
        process in interface SqlMetaElement
        Parameters:
        ctx - the crate for all input parameters and the context of processing
      • getData

        String getData​(SqlProcessContext ctx,
                       Object obj)
        Returns a String representation of input values, after a possible transformation process.
        Parameters:
        ctx - the crate for all input parameters and the context of processing
        obj - a raw input value
        Returns:
        the transformed input value
      • processExpression

        public boolean processExpression​(SqlProcessContext ctx)
        The main contract to evaluate a logical value of META SQL sub-elements.
        Specified by:
        processExpression in interface SqlMetaLogOperand
        Parameters:
        ctx - the context for a dynamic ANSI SQL Query generation
        Returns:
        a logical value
      • getInputValues

        Object getInputValues​(SqlProcessContext ctx)
        Returns the static or dynamic input values. The standard input values are the static ones.
        Parameters:
        ctx - the crate for all input parameters and the context of processing
        Returns:
        the static or dynamic input values
      • getDefaultData

        String getDefaultData()
        Returns a default input value in the case the input attribute is null.
        Returns:
        a default input value
      • getFieldType

        Class<?> getFieldType​(SqlProcessContext ctx,
                              Class<?> attributeType,
                              String attributeName)
        Returns the static input attribute type.
        Parameters:
        ctx - the crate for all input parameters and the context of processing
        attributeType - parents type
        attributeName - the attribute name
        Returns:
        the static input attribute type
      • getProperty

        Object getProperty​(SqlProcessContext ctx,
                           Object obj,
                           String item)
        Returns the static input attribute value.
        Parameters:
        ctx - the crate for all input parameters and the context of processing
        obj - the static input value POJO
        item - the attribute name
        Returns:
        the static input attribute value