Package org.h2.bnf

Class Sentence

java.lang.Object
org.h2.bnf.Sentence

public class Sentence extends Object
A query context object. It contains the list of table and alias objects. Used for autocomplete.
  • Field Details

    • CONTEXT

      public static final int CONTEXT
      This token type means the possible choices of the item depend on the context. For example the item represents a table name of the current database.
      See Also:
    • KEYWORD

      public static final int KEYWORD
      The token type for a keyword.
      See Also:
    • FUNCTION

      public static final int FUNCTION
      The token type for a function name.
      See Also:
    • MAX_PROCESSING_TIME

      private static final int MAX_PROCESSING_TIME
      See Also:
    • next

      private final HashMap<String,String> next
      The map of next tokens in the form type#tokenName token.
    • query

      private String query
      The complete query string.
    • queryUpper

      private String queryUpper
      The uppercase version of the query string.
    • stopAtNs

      private long stopAtNs
    • lastMatchedSchema

      private DbSchema lastMatchedSchema
    • lastMatchedTable

      private DbTableOrView lastMatchedTable
    • lastTable

      private DbTableOrView lastTable
    • tables

      private HashSet<DbTableOrView> tables
    • aliases

      private HashMap<String,DbTableOrView> aliases
  • Constructor Details

    • Sentence

      public Sentence()
  • Method Details

    • start

      public void start()
      Start the timer to make sure processing doesn't take too long.
    • stopIfRequired

      public void stopIfRequired()
      Check if it's time to stop processing. Processing auto-complete shouldn't take more than a few milliseconds. If processing is stopped, this methods throws an IllegalStateException
    • add

      public void add(String n, String string, int type)
      Add a word to the set of next tokens.
      Parameters:
      n - the token name
      string - an example text
      type - the token type
    • addAlias

      public void addAlias(String alias, DbTableOrView table)
      Add an alias name and object
      Parameters:
      alias - the alias name
      table - the alias table
    • addTable

      public void addTable(DbTableOrView table)
      Add a table.
      Parameters:
      table - the table
    • getTables

      public HashSet<DbTableOrView> getTables()
      Get the set of tables.
      Returns:
      the set of tables
    • getAliases

      public HashMap<String,DbTableOrView> getAliases()
      Get the alias map.
      Returns:
      the alias map
    • getLastTable

      public DbTableOrView getLastTable()
      Get the last added table.
      Returns:
      the last table
    • getLastMatchedSchema

      public DbSchema getLastMatchedSchema()
      Get the last matched schema if the last match was a schema.
      Returns:
      the last schema or null
    • setLastMatchedSchema

      public void setLastMatchedSchema(DbSchema schema)
      Set the last matched schema if the last match was a schema, or null if it was not.
      Parameters:
      schema - the last matched schema or null
    • setLastMatchedTable

      public void setLastMatchedTable(DbTableOrView table)
      Set the last matched table if the last match was a table.
      Parameters:
      table - the last matched table or null
    • getLastMatchedTable

      public DbTableOrView getLastMatchedTable()
      Get the last matched table if the last match was a table.
      Returns:
      the last table or null
    • setQuery

      public void setQuery(String query)
      Set the query string.
      Parameters:
      query - the query string
    • getQuery

      public String getQuery()
      Get the query string.
      Returns:
      the query
    • getQueryUpper

      public String getQueryUpper()
      Get the uppercase version of the query string.
      Returns:
      the uppercase query
    • getNext

      public HashMap<String,String> getNext()
      Get the map of next tokens.
      Returns:
      the next token map