Package org.mariadb.jdbc
Class CallableParameterMetaData
- java.lang.Object
-
- org.mariadb.jdbc.CallableParameterMetaData
-
- All Implemented Interfaces:
java.sql.ParameterMetaData,java.sql.Wrapper
public class CallableParameterMetaData extends java.lang.Object implements java.sql.ParameterMetaData
-
-
Field Summary
Fields Modifier and Type Field Description private MariaDbConnectionconprivate java.lang.Stringdatabaseprivate booleanisFunctionprivate java.lang.Stringnameprivate static java.util.regex.PatternPARAMETER_PATTERNprivate java.util.List<CallParameter>paramsprivate static java.util.regex.PatternRETURN_PATTERNprivate booleanvalid
-
Constructor Summary
Constructors Constructor Description CallableParameterMetaData(MariaDbConnection con, java.lang.String database, java.lang.String name, boolean isFunction)Retrieve Callable metaData.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetName(int param)private CallParametergetParam(int index)java.lang.StringgetParameterClassName(int param)intgetParameterCount()intgetParameterMode(int param)Get mode info.intgetParameterType(int param)java.lang.StringgetParameterTypeName(int param)intgetPrecision(int param)intgetScale(int param)intisNullable(int param)booleanisSigned(int param)booleanisWrapperFor(java.lang.Class<?> iface)private intmapMariaDbTypeToJdbc(java.lang.String str)private voidparseFunctionReturnParam(java.lang.String functionReturn)private voidparseParamList(boolean isFunction, java.lang.String paramList)private java.lang.String[]queryMetaInfos(boolean isFunction)private voidreadMetadata()Read procedure metadata from mysql.proc table(column param_list).voidreadMetadataFromDbIfRequired()Search metaData if not already loaded.<T> Tunwrap(java.lang.Class<T> iface)
-
-
-
Field Detail
-
PARAMETER_PATTERN
private static final java.util.regex.Pattern PARAMETER_PATTERN
-
RETURN_PATTERN
private static final java.util.regex.Pattern RETURN_PATTERN
-
con
private final MariaDbConnection con
-
name
private final java.lang.String name
-
params
private java.util.List<CallParameter> params
-
database
private java.lang.String database
-
valid
private boolean valid
-
isFunction
private boolean isFunction
-
-
Constructor Detail
-
CallableParameterMetaData
public CallableParameterMetaData(MariaDbConnection con, java.lang.String database, java.lang.String name, boolean isFunction)
Retrieve Callable metaData.- Parameters:
con- connectiondatabase- database namename- procedure/function nameisFunction- is it a function
-
-
Method Detail
-
readMetadataFromDbIfRequired
public void readMetadataFromDbIfRequired() throws java.sql.SQLExceptionSearch metaData if not already loaded.- Throws:
java.sql.SQLException- if error append during loading metaData
-
mapMariaDbTypeToJdbc
private int mapMariaDbTypeToJdbc(java.lang.String str)
-
queryMetaInfos
private java.lang.String[] queryMetaInfos(boolean isFunction) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
parseFunctionReturnParam
private void parseFunctionReturnParam(java.lang.String functionReturn) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
parseParamList
private void parseParamList(boolean isFunction, java.lang.String paramList) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
readMetadata
private void readMetadata() throws java.sql.SQLExceptionRead procedure metadata from mysql.proc table(column param_list).- Throws:
java.sql.SQLException- if data doesn't correspond.
-
getParameterCount
public int getParameterCount()
- Specified by:
getParameterCountin interfacejava.sql.ParameterMetaData
-
getParam
private CallParameter getParam(int index) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
isNullable
public int isNullable(int param) throws java.sql.SQLException- Specified by:
isNullablein interfacejava.sql.ParameterMetaData- Throws:
java.sql.SQLException
-
isSigned
public boolean isSigned(int param) throws java.sql.SQLException- Specified by:
isSignedin interfacejava.sql.ParameterMetaData- Throws:
java.sql.SQLException
-
getPrecision
public int getPrecision(int param) throws java.sql.SQLException- Specified by:
getPrecisionin interfacejava.sql.ParameterMetaData- Throws:
java.sql.SQLException
-
getScale
public int getScale(int param) throws java.sql.SQLException- Specified by:
getScalein interfacejava.sql.ParameterMetaData- Throws:
java.sql.SQLException
-
getParameterType
public int getParameterType(int param) throws java.sql.SQLException- Specified by:
getParameterTypein interfacejava.sql.ParameterMetaData- Throws:
java.sql.SQLException
-
getParameterTypeName
public java.lang.String getParameterTypeName(int param) throws java.sql.SQLException- Specified by:
getParameterTypeNamein interfacejava.sql.ParameterMetaData- Throws:
java.sql.SQLException
-
getParameterClassName
public java.lang.String getParameterClassName(int param) throws java.sql.SQLException- Specified by:
getParameterClassNamein interfacejava.sql.ParameterMetaData- Throws:
java.sql.SQLException
-
getParameterMode
public int getParameterMode(int param) throws java.sql.SQLExceptionGet mode info.- 0 : unknown
- 1 : IN
- 2 : INOUT
- 4 : OUT
- Specified by:
getParameterModein interfacejava.sql.ParameterMetaData- Parameters:
param- parameter index- Returns:
- mode information
- Throws:
java.sql.SQLException- if index is wrong
-
getName
public java.lang.String getName(int param) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
unwrap
public <T> T unwrap(java.lang.Class<T> iface)
- Specified by:
unwrapin interfacejava.sql.Wrapper
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> iface)
- Specified by:
isWrapperForin interfacejava.sql.Wrapper
-
-