/************************************************************************* /* CallableStatement.java -- A statement for calling stored procedures. /* /* Copyright (c) 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* This library is free software; you can redistribute it and/or modify /* it under the terms of the GNU Library General Public License as published /* by the Free Software Foundation, either version 2 of the License, or /* (at your option) any later verion. /* /* This library is distributed in the hope that it will be useful, but /* WITHOUT ANY WARRANTY; without even the implied warranty of /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /* GNU Library General Public License for more details. /* /* You should have received a copy of the GNU Library General Public License /* along with this library; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ package java.sql; import java.io.InputStream; import java.io.Reader; import java.math.BigDecimal; import java.util.Calendar; import java.util.Map; /** * This interface provides a mechanism for calling stored procedures. * * @author Aaron M. Renn (arenn@urbanophile.com) */ public abstract interface CallableStatement { /*************************************************************************/ /** * This method tests whether the value of the last parameter that was fetched * was actually a SQL NULL value. * * @return true if the last parameter fetched was a NULL, * false otherwise. * * @exception SQLException If an error occurs. */ public abstract boolean wasNull() throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * String. * * @param index The index of the parameter to return. * * @return The parameter value as a String. * * @exception SQLException If an error occurs. */ public abstract String getString(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * Object. * * @param index The index of the parameter to return. * * @return The parameter value as an Object. * * @exception SQLException If an error occurs. */ public abstract Object getObject(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * Object. * * @param index The index of the parameter to return. * @param map The mapping to use for conversion from SQL to Java types. * * @return The parameter value as an Object. * * @exception SQLException If an error occurs. */ public abstract Object getObject(int index, Map map) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * boolean. * * @param index The index of the parameter to return. * * @return The parameter value as a boolean. * * @exception SQLException If an error occurs. */ public abstract boolean getBoolean(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * byte. * * @param index The index of the parameter to return. * * @return The parameter value as a byte. * * @exception SQLException If an error occurs. */ public abstract byte getByte(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * short. * * @param index The index of the parameter to return. * * @return The parameter value as a short. * * @exception SQLException If an error occurs. */ public abstract short getShort(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * int. * * @param index The index of the parameter to return. * * @return The parameter value as a int. * * @exception SQLException If an error occurs. */ public abstract int getInt(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * long. * * @param index The index of the parameter to return. * * @return The parameter value as a long. * * @exception SQLException If an error occurs. */ public abstract long getLong(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * float. * * @param index The index of the parameter to return. * * @return The parameter value as a float. * * @exception SQLException If an error occurs. */ public abstract float getFloat(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * double. * * @param index The index of the parameter to return. * * @return The parameter value as a double. * * @exception SQLException If an error occurs. */ public abstract double getDouble(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * BigDecimal. * * @param index The index of the parameter to return. * * @return The parameter value as a BigDecimal. * * @exception SQLException If an error occurs. */ public abstract BigDecimal getBigDecimal(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * BigDecimal. * * @param index The index of the parameter to return. * @param scale The number of digits to the right of the decimal to return. * * @return The parameter value as a BigDecimal. * * @exception SQLException If an error occurs. */ public abstract BigDecimal getBigDecimal(int index, int scale) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * byte array. * * @param index The index of the parameter to return. * * @return The parameter value as a byte array * * @exception SQLException If an error occurs. */ public abstract byte[] getBytes(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * java.sql.Date. * * @param index The index of the parameter to return. * * @return The parameter value as a java.sql.Date. * * @exception SQLException If an error occurs. */ public abstract java.sql.Date getDate(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * java.sql.Date. * * @param index The index of the parameter to return. * @param calendar The Calendar to use for timezone and locale. * * @return The parameter value as a java.sql.Date. * * @exception SQLException If an error occurs. */ public abstract java.sql.Date getDate(int index, Calendar calendar) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * java.sql.Time. * * @param index The index of the parameter to return. * * @return The parameter value as a java.sql.Time. * * @exception SQLException If an error occurs. */ public abstract java.sql.Time getTime(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * java.sql.Time. * * @param index The index of the parameter to return. * @param calendar The Calendar to use for timezone and locale. * * @return The parameter value as a java.sql.Time. * * @exception SQLException If an error occurs. */ public abstract java.sql.Time getTime(int index, Calendar calendar) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * java.sql.Timestamp. * * @param index The index of the parameter to return. * * @return The parameter value as a java.sql.Timestamp. * * @exception SQLException If an error occurs. */ public abstract java.sql.Timestamp getTimestamp(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * java.sql.Timestamp. * * @param index The index of the parameter to return. * @param calendar The Calendar to use for timezone and locale. * * @return The parameter value as a java.sql.Timestamp. * * @exception SQLException If an error occurs. */ public abstract java.sql.Timestamp getTimestamp(int index, Calendar calendar) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * Ref. * * @param index The index of the parameter to return. * * @return The parameter value as a Ref. * * @exception SQLException If an error occurs. */ public abstract Ref getRef(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * Blob. * * @param index The index of the parameter to return. * * @return The parameter value as a Blob. * * @exception SQLException If an error occurs. */ public abstract Blob getBlob(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * Clob. * * @param index The index of the parameter to return. * * @return The parameter value as a Clob. * * @exception SQLException If an error occurs. */ public abstract Clob getClob(int index) throws SQLException; /*************************************************************************/ /** * This method returns the value of the specified parameter as a Java * Array. * * @param index The index of the parameter to return. * * @return The parameter value as a Array. * * @exception SQLException If an error occurs. */ public abstract Array getArray(int index) throws SQLException; /*************************************************************************/ /** * This method registers the specified parameter as an output parameter * of the specified SQL type. * * @param index The index of the parameter to register as output. * @param type The SQL type value from Types. * * @exception SQLException If an error occurs. */ public abstract void registerOutParameter(int index, int type) throws SQLException; /*************************************************************************/ /** * This method registers the specified parameter as an output parameter * of the specified SQL type. * * @param index The index of the parameter to register as output. * @param type The SQL type value from Types. * @param name The user defined data type name. * * @exception SQLException If an error occurs. */ public abstract void registerOutParameter(int index, int type, String name) throws SQLException; /*************************************************************************/ /** * This method registers the specified parameter as an output parameter * of the specified SQL type and scale. * * @param index The index of the parameter to register as output. * @param type The SQL type value from Types. * @param scale The scale of the value that will be returned. * * @exception SQLException If an error occurs. */ public abstract void registerOutParameter(int index, int type, int scale) throws SQLException; } // interface CallableStatement