Package 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 Description FBEscapedCallParser(FBEscapedParser.EscapeParserMode mode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
getState()
Returns the current state.protected boolean
isInState(int state)
Returns if the system is in statestate
.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.
-
-
-
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 statestate
.- Parameters:
state
- we're testing- Returns:
true
if the system is in statestate
.
-
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
-
-