Class SqlMetaSqlFragment

  • All Implemented Interfaces:
    SqlMetaElement

    class SqlMetaSqlFragment
    extends Object
    implements SqlMetaElement
    A META SQL sub-element.

    Schematically:

     SqlMetaSqlFragment 
         {= IDENT SqlMetaIfItem}
     
    where IDENT can be
    • where for WHERE fragment of the final SQL query/statement
    • set for WHERE fragment of the final SQL update statement
    • values for WHERE fragment of the final SQL insert statement
    Author:
    Vladimir Hudec
    • Field Detail

      • logger

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

        static final Pattern patternWhere
      • patternValues

        static final Pattern patternValues
      • patternSet

        static final Pattern patternSet
      • patternColumns

        static final Pattern patternColumns
      • elements

        List<SqlMetaIfItem> elements
        The list of sub-elements based on ANTLR grammar.
      • type

        SqlMetaSqlFragment.Type type
        The type if this element. It controls, how the related ANSI SQL fragment is added to the final ANSI SQL.
      • optimistic

        boolean optimistic
        The indicator for the types WHERE and SET in the case of optimistic locking.
    • Constructor Detail

      • SqlMetaSqlFragment

        SqlMetaSqlFragment​(SqlMetaSqlFragment.Type type)
        Creates a new instance. It's used from inside ANTLR parser.
        Parameters:
        type - the type, which is used to control, how the related ANSI SQL fragment is added to the final ANSI SQL.
      • SqlMetaSqlFragment

        SqlMetaSqlFragment​(String type)
        Creates a new instance. It's used from inside ANTLR parser.
        Parameters:
        type - the type, which is used to control, how the related ANSI SQL fragment is added to the final ANSI SQL.
    • Method Detail

      • addElement

        void addElement​(SqlMetaIfItem element)
        Adds a new sub-element. It's used from inside ANTLR parser.
        Parameters:
        element - new sub-element, based on ANTLR grammar
      • handleSqlFragment

        void handleSqlFragment​(StringBuilder s,
                               SqlProcessContext ctx)
        Handle the SQL fragment based on the statement type and/or the SqlMetaSqlFragment.Type.
        Parameters:
        s - a buffer for the generated SQL statement
        ctx - the crate for all input parameters and the context of processing
      • 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