Class QueryPlus

java.lang.Object
com.tangosol.coherence.dslquery.QueryPlus

public class QueryPlus extends Object
QueryPlus implements a simple command line processor for a sql like language.

QueryPlus can use JLine for enhanced command-line editing capabilities, such as having the up and down arrows move through the command history. However, JLine is not required. QueryPlus supports JLine when the JLine 3.x library is included in the QueryPlus JVM classpath. If JLine is not found, a message displays and QueryPlus starts without JLine capabilities.

Author:
djl 2009.08.31, jk 2014.01.02
  • Field Details

  • Constructor Details

    • QueryPlus

      public QueryPlus(QueryPlus.Dependencies dependencies)
      Create a QueryPlus instance that uses the specified QueryPlus.Dependencies.
      Parameters:
      dependencies - the Dependencies that will control the QueryPlus session
  • Method Details

    • run

      public void run()
      Run this instance of QueryPlus.
    • repl

      public void repl()
      Start a statement processing loop.
    • getExecutionContext

      public ExecutionContext getExecutionContext()
      Return the current ExecutionContext passed to Statements.
      Returns:
      the current ExecutionContext passed to Statements
    • initializeLanguage

      protected void initializeLanguage()
      Initialize the CoherenceQueryLanguage with any QueryPlus Statement extensions.
    • addStatement

      protected void addStatement(AbstractQueryPlusStatementBuilder builder)
      Add a new QueryPlus statement.
      Parameters:
      builder - the statement builder to add
    • addAlterSessionStatement

      protected void addAlterSessionStatement()
      Add the QueryPlus ALTER SESSION statements
    • query

      protected Object query(String sQuery)
      Process the specified query.
      Parameters:
      sQuery - a String that represents the query
      Returns:
      the results of the query
    • processFile

      protected boolean processFile(String sFileName)
      Process the given file of CohQL statements.
      Parameters:
      sFileName - the name of the file CohQL containing the statements to execute
      Returns:
      true if all statements in the file were processed or false if an error occurred
    • evalLine

      protected boolean evalLine(String sLine)
      Evaluate the given CohQL statement.
      Parameters:
      sLine - the CohQL statement String to be evaluated
      Returns:
      a flag indicating whether to continue processing statements
    • getJlineReader

      public static BufferedReader getJlineReader(OutputStream output, InputStream input, boolean fSilent)
      Return an instance of BufferedReader if JLine is present.
      Parameters:
      output - the OutputStream that will provide output
      input - the InputStream that will provide input
      fSilent - if true no message will be displayed if JLine is unavailable.
      Returns:
      an instance of BufferedReader or null
    • main

      public static void main(String[] asArgs)
      The main application for CohQL statement processing.
      Parameters:
      asArgs - an array of Strings that represents arguments