/*************************************************************************
/* 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