Class FBEscapedCallParser

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

public class FBEscapedCallParser extends Object
Parser for escaped procedure call.
  • Constructor Details

  • Method Details

    • getState

      protected int getState()
      Returns the current state.
    • setState

      protected void setState(int state)
      Sets the current state.
      Parameters:
      state - to enter.
      Throws:
      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(String sql) throws SQLException
      Converts escaped parts in the passed SQL to native representation.
      Parameters:
      sql - to parse
      Returns:
      native form of the sql.
      Throws:
      SQLException
    • processToken

      protected boolean processToken(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 String processParam(String param) throws 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.
      SQLException