declare namespace org { namespace springframework { namespace jdbc { namespace object { /** * SQL "function" wrapper for a query that returns a single row of results. * The default behavior is to return an int, but that can be overridden by * using the constructor with an extra return type parameter. *

Intended to use to call SQL functions that return a single result using a * query like "select user()" or "select sysdate from dual". It is not intended * for calling more complex stored functions or for using a CallableStatement to * invoke a stored procedure or stored function. Use StoredProcedure or SqlCall * for this type of processing. *

This is a concrete class, which there is often no need to subclass. * Code using this package can create an object of this type, declaring SQL * and parameters, and then invoke the appropriate {@code run} method * repeatedly to execute the function. Subclasses are only supposed to add * specialized {@code run} methods for specific parameter and return types. *

Like all RdbmsOperation objects, SqlFunction objects are thread-safe. * @author Rod Johnson * @author Juergen Hoeller * @author Jean-Pierre Pawlak * @param the result type * @see StoredProcedure */ // @ts-ignore class SqlFunction extends org.springframework.jdbc.object.MappingSqlQuery { /** * Constructor to allow use as a JavaBean. * A DataSource, SQL and any parameters must be supplied before * invoking the {@code compile} method and using this object. * @see #setDataSource * @see #setSql * @see #compile */ // @ts-ignore constructor() /** * Create a new SqlFunction object with SQL, but without parameters. * Must add parameters or settle with none. * @param ds the DataSource to obtain connections from * @param sql the SQL to execute */ // @ts-ignore constructor(ds: javax.sql.DataSource, sql: java.lang.String | string) /** * Create a new SqlFunction object with SQL and parameters. * @param ds the DataSource to obtain connections from * @param sql the SQL to execute * @param types the SQL types of the parameters, as defined in the * {#code java.sql.Types} class * @see java.sql.Types */ // @ts-ignore constructor(ds: javax.sql.DataSource, sql: java.lang.String | string, types: number /*int*/[]) /** * Create a new SqlFunction object with SQL, parameters and a result type. * @param ds the DataSource to obtain connections from * @param sql the SQL to execute * @param types the SQL types of the parameters, as defined in the * {#code java.sql.Types} class * @param resultType the type that the result object is required to match * @see #setResultType(Class) * @see java.sql.Types */ // @ts-ignore constructor(ds: javax.sql.DataSource, sql: java.lang.String | string, types: number /*int*/[], resultType: java.lang.Class) /** * Specify the type that the result object is required to match. *

If not specified, the result value will be exposed as * returned by the JDBC driver. */ // @ts-ignore public setResultType(resultType: java.lang.Class): void /** * This implementation of this method extracts a single value from the * single row returned by the function. If there are a different number * of rows returned, this is treated as an error. */ // @ts-ignore mapRow(rs: java.sql.ResultSet, rowNum: number /*int*/): T /** * Convenient method to run the function without arguments. * @return the value of the function */ // @ts-ignore public run(): number /*int*/ /** * Convenient method to run the function with a single int argument. * @param parameter single int parameter * @return the value of the function */ // @ts-ignore public run(parameter: number /*int*/): number /*int*/ /** * Analogous to the SqlQuery.execute([]) method. This is a * generic method to execute a query, taken a number of arguments. * @param parameters array of parameters. These will be objects or * object wrapper types for primitives. * @return the value of the function */ // @ts-ignore public run(...parameters: java.lang.Object[] | any[]): number /*int*/ /** * Convenient method to run the function without arguments, * returning the value as an object. * @return the value of the function */ // @ts-ignore public runGeneric(): any /** * Convenient method to run the function with a single int argument. * @param parameter single int parameter * @return the value of the function as an Object */ // @ts-ignore public runGeneric(parameter: number /*int*/): any /** * Analogous to the {@code SqlQuery.findObject(Object[])} method. * This is a generic method to execute a query, taken a number of arguments. * @param parameters array of parameters. These will be objects or * object wrapper types for primitives. * @return the value of the function, as an Object * @see #execute(Object[]) */ // @ts-ignore public runGeneric(parameters: java.lang.Object[] | any[]): any } } } } }