org.firebirdsql.jdbc.escape

## Class FBEscapedCallParser

- java.lang.Object
- - org.firebirdsql.jdbc.escape.FBEscapedCallParser

-     public class FBEscapedCallParser
      extends java.lang.Object

  Parser for escaped procedure call.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FBEscapedCallParser(FBEscapedParser.EscapeParserMode mode)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | `getState()` Returns the current state.
    `protected boolean` | `isInState(int state)` Returns if the system is in state `state`.
    `FBProcedureCall` | `parseCall(java.lang.String sql)` Converts escaped parts in the passed SQL to native representation.
    `protected java.lang.String` | `processParam(java.lang.String param)` Pre-process parameter.
    `protected boolean` | `processToken(java.lang.String token)` Process token.
    `protected void` | `setState(int state)` Sets the current state.
    `protected void` | `switchState(char testChar)` Test the character to be the state switching character and switches the state if necessary.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FBEscapedCallParser

          public FBEscapedCallParser(FBEscapedParser.EscapeParserMode mode)

  - ### Method Detail

    - #### getState

          protected int getState()

      Returns the current state.

    - #### setState

          protected void setState(int state)

      Sets the current state.
      Parameters:
        `state` - to enter.
      Throws:
        `java.lang.IllegalStateException` - if the system cannot enter the desired state.

    - #### isInState

          protected boolean isInState(int state)

      Returns if the system is in state `state`.
      Parameters:
        `state` - we're testing
      Returns:
        `true` if the system is in state `state`.

    - #### switchState

          protected void switchState(char testChar)
                              throws FBSQLParseException

      Test the character to be the state switching character and switches the state if necessary.
      Parameters:
        `testChar` - character to test
      Throws:
        `FBSQLParseException`

    - #### parseCall

          public FBProcedureCall parseCall(java.lang.String sql)
                                    throws java.sql.SQLException

      Converts escaped parts in the passed SQL to native representation.
      Parameters:
        `sql` - to parse
      Returns:
        native form of the `sql`.
      Throws:
        `java.sql.SQLException`

    - #### processToken

          protected boolean processToken(java.lang.String token)

      Process token. This method detects procedure call keywords and sets appropriate flags. Also it detects procedure name and sets appropriate filed in the procedure call object.
      Parameters:
        `token` - token to process.
      Returns:
        `true` if token was understood and processed.

    - #### processParam

          protected java.lang.String processParam(java.lang.String param)
                                           throws java.sql.SQLException

      Pre-process parameter. This method checks if there is escaped call inside and converts it to the native one.
      Parameters:
        `param` - parameter to process.
      Returns:
        processed parameter.
      Throws:
        `FBSQLParseException` - if parameter cannot be correctly parsed.
        `java.sql.SQLException`

Copyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.