Class InsertStatementBuilder

All Implemented Interfaces:
StatementBuilder<InsertStatementBuilder.InsertStatement>

public class InsertStatementBuilder extends AbstractStatementBuilder<InsertStatementBuilder.InsertStatement>
An implementation of a StatementBuilder that parses a CohQL term tree to produce an instance of a InsertStatementBuilder.InsertStatement.
Since:
Coherence 12.2.1
Author:
jk 2013.12.17
  • Field Details

  • Constructor Details

    • InsertStatementBuilder

      public InsertStatementBuilder()
  • Method Details

    • realize

      public InsertStatementBuilder.InsertStatement realize(ExecutionContext ctx, NodeTerm term, List listBindVars, ParameterResolver namedBindVars)
      Description copied from interface: StatementBuilder
      Realizes an implementation of a Statement that can be executed to perform a specific CohQL command.
      Parameters:
      ctx - the ExecutionContext to use to create commands
      term - the parsed NodeTerm used to create the relevant Statement
      listBindVars - the indexed bind variables
      namedBindVars - the named bind variables
      Returns:
      an executable instance of a Statement
    • getSyntax

      public String getSyntax()
      Description copied from interface: StatementBuilder
      Return the syntax of the CohQL command.
      Returns:
      the syntax of the CohQL command
    • getDescription

      public String getDescription()
      Description copied from interface: StatementBuilder
      Return a description of the CohQL command suitable for displaying as help text.
      Returns:
      a description of the CohQL command suitable for displaying as help text
    • createInsertKey

      protected Object createInsertKey(Term termKey, com.tangosol.coherence.dslquery.internal.UpdateSetListMaker transformer, Object oValue)
      Create the key to use in the insert statement.
      Parameters:
      termKey - the AST representing the Key term
      transformer - the UpdateSetListMaker that will create the key instance
      oValue - the value being inserted that will be used to call its getKey method if no key term is present
      Returns:
      the value to use as the key for the insert
      Throws:
      CohQLException - if there are any errors creating the key instance
    • createInsertValue

      protected Object createInsertValue(Term termValue, com.tangosol.coherence.dslquery.internal.UpdateSetListMaker transformer)
      Create the instance of the value that will be inserted into the cache.
      Parameters:
      termValue - the AST term to use to create the value
      transformer - the UpdateSetListMaker that can create values from AST terms
      Returns:
      an instance of a value to insert into the cache
      Throws:
      CohQLException - if any errors occur creating the value
    • createUpdateSetListMaker

      protected com.tangosol.coherence.dslquery.internal.UpdateSetListMaker createUpdateSetListMaker(ExecutionContext ctx, List listBindVars, ParameterResolver namedBindVars)
      Create an UpdateSetListMaker.
      Parameters:
      ctx - the ExecutionContext to use
      listBindVars - the indexed bind variables to pass to the UpdateSetListMaker
      namedBindVars - the named bind variables to pass to the UpdateSetListMaker
      Returns:
      an UpdateSetListMaker