Class SqlMetaAndOr

  • All Implemented Interfaces:
    SqlMetaElement

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

    Schematically:

     SqlMetaAndOr 
         { SqlMetaIfItem | SqlMetaIfItem...}
         {& SqlMetaIfItem | SqlMetaIfItem...}
         {| SqlMetaIfItem | SqlMetaIfItem...}
     
    Author:
    Vladimir Hudec
    • Field Detail

      • logger

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

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

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

      • SqlMetaAndOr

        SqlMetaAndOr​(SqlMetaAndOr.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.
    • 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
      • getPrefix

        String getPrefix()
        Returns one of the next ANSI SQL fragments: , AND or OR.
        Returns:
        the ANSI SQL fragment based on the type of this element
      • 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