Class Command (0.15.0)

public abstract class Command

This abstract class concerns itself with representing a method of matching a specific statement and translating it to a form that Spanner understands. The user should call is() to determine whether it matches before trying to translate.

Inheritance

java.lang.Object > Command

Static Methods

getCommands(String sql, Connection connection, JSONObject commandMetadataJSON)

public static List<Command> getCommands(String sql, Connection connection, JSONObject commandMetadataJSON)

The list of all subcommands to this command. When subclassing this, make sure to add the new command to the below list, if applicable (i.e.: if you want it to be run). Commands may also be specified via Dynamic Commands, which are defined from an input JSON file. These commands precede the hard-coded ones in execution.

Parameters
Name Description
sql String

The SQL command to be translated.

connection Connection

The connection currently in use.

commandMetadataJSON org.json.simple.JSONObject
Returns
Type Description
List<Command>

A list of all Command subclasses.

Fields

matcher

protected Matcher matcher
Field Value
Type Description
Matcher

sql

protected String sql
Field Value
Type Description
String

Methods

getPattern()

protected abstract Pattern getPattern()

The pattern expected by this command: is() will only return true if it matches this pattern.

Returns
Type Description
Pattern

The pattern apposite (in relation to) the command.

is()

public boolean is()
Returns
Type Description
boolean

True if the SQL statement matches the pattern.

translate()

public abstract String translate()
Returns
Type Description
String

The equivalent Spanner statement for the specified SQL statement.