SQLServer eWay API

com.stc.connector.sqlserveradapter
Class SqlserverCallableStatementAgent

java.lang.Object
  extended by com.stc.connector.sqlserveradapter.base.StatementAgentImpl
      extended by com.stc.connector.sqlserveradapter.base.PreparedStatementAgentImpl
          extended by com.stc.connector.sqlserveradapter.SqlserverPreparedStatementAgent
              extended by com.stc.connector.sqlserveradapter.SqlserverCallableStatementAgent
All Implemented Interfaces:
com.stc.connector.appconn.db.PreparedStatementAgent, com.stc.connector.appconn.db.StatementAgent, com.stc.connector.db.SessionEventListener

public abstract class SqlserverCallableStatementAgent
extends SqlserverPreparedStatementAgent

Agent hosts an SqlserverCallableStatement.

Version:
$Revision: 1.12 $
Author:
$Author: sadiraju $

Field Summary
 
Fields inherited from class com.stc.connector.sqlserveradapter.base.PreparedStatementAgentImpl
askGetMoreResults, askGetResultSet, bUseResultsAvailable, curRSetAgent, curRSetSig, nParam, nUpdateCount, retResultSet, retUpdateCount, sCommand
 
Fields inherited from class com.stc.connector.sqlserveradapter.base.StatementAgentImpl
concurrencyType, listener, resultSetConcurMap, resultsetDirection, resultSetDirMap, resultsetType, resultSetTypeMap, session, sqlException, statement, statementClassName
 
Constructor Summary
protected SqlserverCallableStatementAgent()
          Default constructor.
  SqlserverCallableStatementAgent(com.stc.connector.db.Session session, int iScroll, int iConcur)
          SqlserverCallableStatementAgent constructor.
  SqlserverCallableStatementAgent(com.stc.connector.db.Session session, java.lang.String sCommand)
          SqlserverCallableStatementAgent constructor.
  SqlserverCallableStatementAgent(com.stc.connector.db.Session session, java.lang.String sCommand, int iScroll, int iConcur)
          SqlserverCallableStatementAgent constructor.
 
Method Summary
 void clearParameters()
          Clears all Stored Procedure Input and Output parameters
 boolean execute()
          Executes the Procedure & sets the ResultSets of this procedure if any matches the Otd definition.
 java.sql.Array getArray(int index)
          Gets the Array value of the indexed parameter.
 java.math.BigDecimal getBigDecimal(int index)
          Gets the decimal value of the indexed parameter.
 java.sql.Blob getBlob(int index)
          Gets the Blob value of the indexed parameter.
 boolean getBoolean(int index)
          Gets the boolean value of the indexed parameter.
 byte getByte(int index)
          Gets the byte value of the indexed parameter.
 byte[] getBytes(int index)
          Gets the byte array value of the indexed parameter.
 java.sql.Clob getClob(int index)
          Gets the Clob value of the indexed parameter.
 java.sql.ResultSet getCurRS()
          Get the curRS value.
 java.sql.Date getDate(int index)
          Gets the date value of the indexed parameter.
 java.sql.Date getDate(int index, java.util.Calendar calendar)
          Gets the date value of the indexed parameter with time zone from calendar.
 double getDouble(int index)
          Gets the double value of the indexed parameter.
 float getFloat(int index)
          Gets the float value of the indexed parameter.
 int getInt(int index)
          Gets the integer value of the indexed parameter.
 long getLong(int index)
          Gets the long value of the indexed parameter.
 java.lang.Object getObject(int index)
          Gets value of the indexed parameter as an instance of Object.
 java.lang.Object getObject(int index, java.util.Map map)
          Gets the value of the indexed parameter as an instance of Object and uses map for the customer mapping of the parameter value.
 java.sql.Ref getRef(int index)
          Gets the Ref value of the indexed parameter.
 int[] getResultSetParamsPosition()
          gets those parameter positions of a Procedure that are of type ResultSet.
protected  SqlserverCallableStatementResultSet[] getResultSetsObjects()
          Gets the ResultSets added to this Procedure.
protected  java.lang.Class[] getResultSetTypes()
          Gets the Class info about the ResultSets added to this Procedure.
 short getShort(int index)
          Gets the short value of the indexed parameter.
 java.lang.String getSig(java.sql.ResultSet rs)
          Gets the signature of ResultSet
 java.lang.String getString(int index)
          Gets the string value of the indexed parameter.
 java.sql.Time getTime(int index)
          Gets the time value of the indexed parameter.
 java.sql.Time getTime(int index, java.util.Calendar calendar)
          Gets time value of the indexed parameter with time zone from calendar.
 java.sql.Timestamp getTimestamp(int index)
          Gets the timestamp value of the indexed parameter.
 java.sql.Timestamp getTimestamp(int index, java.util.Calendar calendar)
          Gets the timestamp value of the indexed parameter with time zone from calendar.
 int getUpdateCount()
          Returns the records count of the last executed statement.
 void registerOutParameter(int index, int iType)
          Registers the indexed OUT parameter with specified type.
 void registerOutParameter(int index, int iType, int iScale)
          Registers the indexed OUT parameter with specified type and scale.
 void registerOutParameter(int index, int iType, java.lang.String sType)
          Registers the indexed OUT parameter with specified user-named type or REF type.
protected abstract  void registerOutParameters()
          Registers all output parameters of the prepared call.
 boolean resultsAvailable()
          Determines whether results (Update Counts and/or Result Sets) are available after an execute.
 void sessionClosed(com.stc.connector.db.SessionEvent evt)
          Processes a SessionClose event for a Stored Procedure.
 void sessionOpen(com.stc.connector.db.SessionEvent evt)
          Processes a SessionOpen event.
 void setClob(int index, java.lang.Object obj)
          Sets the Clob value of the indexed parameter.
protected  void setCurRS(java.sql.ResultSet val)
          Set the curRS value.
 void setResultSetParamsPosition(int[] newResultSetParamsPosition)
          marks those parameters of a Procedure that are of type ResultSet.
protected  void setResultSetsObjects(SqlserverCallableStatementResultSet[] newResultSetsObjects)
          sets the ResultSets added to this Procedure.
protected  void setResultSetTypes(java.lang.Class[] resultSetTypes)
          sets the Class info about the ResultSets added to this Procedure.
 boolean wasNull()
          Checks whether or not the last OUT parameter read had the SQL NULL value.
 
Methods inherited from class com.stc.connector.sqlserveradapter.SqlserverPreparedStatementAgent
setSqlserverCursorOrds
 
Methods inherited from class com.stc.connector.sqlserveradapter.base.PreparedStatementAgentImpl
addBatch, curRSetSig, enableResultSetsAndUpdateCounts, enableResultSetsOnly, enableUpdateCountsOnly, executeQuery, executeUpdate, getCurRSetAgent, getPreparedStmt, getRSAgentList, getRSAgentSigs, matchResultSetSignature, setArray, setAsciiStream, setBigDecimal, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setClob, setCurRSetAgent, setDate, setDate, setDouble, setFloat, setInt, setLong, setNull, setNull, setObject, setObject, setObject, setRef, setRSAgentList, setRSAgentSigs, setShort, setString, setTime, setTime, setTimestamp, setTimestamp
 
Methods inherited from class com.stc.connector.sqlserveradapter.base.StatementAgentImpl
cancel, clearBatch, clearWarnings, executeBatch, getFetchDirection, getFetchSize, getMaxFieldSize, getMaxRows, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetType, getWarnings, isClosed, queryName, resultSetConcurToString, resultSetDirToString, resultSetTypeToString, sessionClose, sessionReset, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setQueryTimeout, stmtInvoke
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.stc.connector.appconn.db.StatementAgent
cancel, clearBatch, clearWarnings, executeBatch, getFetchDirection, getFetchSize, getMaxFieldSize, getMaxRows, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetType, getWarnings, isClosed, queryName, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setQueryTimeout, stmtInvoke
 

Constructor Detail

SqlserverCallableStatementAgent

protected SqlserverCallableStatementAgent()
Default constructor.


SqlserverCallableStatementAgent

public SqlserverCallableStatementAgent(com.stc.connector.db.Session session,
                                       java.lang.String sCommand)
SqlserverCallableStatementAgent constructor.

Parameters:
session - a Session object used to hold connection information.
sCommand - a SQL statement for invoking a stored procedure.

SqlserverCallableStatementAgent

public SqlserverCallableStatementAgent(com.stc.connector.db.Session session,
                                       int iScroll,
                                       int iConcur)
SqlserverCallableStatementAgent constructor.

Parameters:
session - a Session object used to hold connection information.
iScroll - resultset type; TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE.
iConcur - concurrency type; CONCUR_READ_ONLY, CONCUR_UPDATABLE.

SqlserverCallableStatementAgent

public SqlserverCallableStatementAgent(com.stc.connector.db.Session session,
                                       java.lang.String sCommand,
                                       int iScroll,
                                       int iConcur)
SqlserverCallableStatementAgent constructor.

Parameters:
session - a Session object used to hold connection information.
sCommand - a SQL statement for invoking a stored procedure.
iScroll - resultset type; TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE.
iConcur - concurrency type; CONCUR_READ_ONLY, CONCUR_UPDATABLE.
Method Detail

registerOutParameters

protected abstract void registerOutParameters()
                                       throws java.sql.SQLException
Registers all output parameters of the prepared call. The builder will generate the concrete method.

Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

sessionOpen

public void sessionOpen(com.stc.connector.db.SessionEvent evt)
Processes a SessionOpen event. It will prepare the call to invoke the Stored Procedure and register all the output parameters by calling registerOutParameters().

Specified by:
sessionOpen in interface com.stc.connector.db.SessionEventListener
Overrides:
sessionOpen in class PreparedStatementAgentImpl
Parameters:
evt - a Session event which signals the connection is open.

registerOutParameter

public void registerOutParameter(int index,
                                 int iType)
                          throws java.sql.SQLException
Registers the indexed OUT parameter with specified type.

Parameters:
index - the position of the parameter.
iType - the JDBC type code defined by java.sql.Types.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

registerOutParameter

public void registerOutParameter(int index,
                                 int iType,
                                 int iScale)
                          throws java.sql.SQLException
Registers the indexed OUT parameter with specified type and scale.

Parameters:
index - the position of the parameter.
iType - the JDBC type code defined by java.sql.Types.
iScale - the desired number of digits to the right of the decimal point. It must be >= 0.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

registerOutParameter

public void registerOutParameter(int index,
                                 int iType,
                                 java.lang.String sType)
                          throws java.sql.SQLException
Registers the indexed OUT parameter with specified user-named type or REF type.

Parameters:
index - the position of the parameter.
iType - the JDBC type code defined by java.sql.Types.
sType - the fully-qualified SQL name of the user-named type.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

wasNull

public boolean wasNull()
                throws java.sql.SQLException
Checks whether or not the last OUT parameter read had the SQL NULL value.

Returns:
true if the last parameter read was NULL; false otherwise
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getObject

public java.lang.Object getObject(int index)
                           throws java.sql.SQLException
Gets value of the indexed parameter as an instance of Object.

Parameters:
index - the position of the parameter.
Returns:
an object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getObject

public java.lang.Object getObject(int index,
                                  java.util.Map map)
                           throws java.sql.SQLException
Gets the value of the indexed parameter as an instance of Object and uses map for the customer mapping of the parameter value.

Parameters:
index - the position of the parameter.
map - contains the mapping from SQL type names for user-defined types to class.
Returns:
an object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getBoolean

public boolean getBoolean(int index)
                   throws java.sql.SQLException
Gets the boolean value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
true or false.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getByte

public byte getByte(int index)
             throws java.sql.SQLException
Gets the byte value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a byte value.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getShort

public short getShort(int index)
               throws java.sql.SQLException
Gets the short value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a short value.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getInt

public int getInt(int index)
           throws java.sql.SQLException
Gets the integer value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
an integer.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getLong

public long getLong(int index)
             throws java.sql.SQLException
Gets the long value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a long value.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getFloat

public float getFloat(int index)
               throws java.sql.SQLException
Gets the float value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a float value.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getDouble

public double getDouble(int index)
                 throws java.sql.SQLException
Gets the double value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a double.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getBigDecimal

public java.math.BigDecimal getBigDecimal(int index)
                                   throws java.sql.SQLException
Gets the decimal value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a BigDecimal object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getDate

public java.sql.Date getDate(int index)
                      throws java.sql.SQLException
Gets the date value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a Date object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getDate

public java.sql.Date getDate(int index,
                             java.util.Calendar calendar)
                      throws java.sql.SQLException
Gets the date value of the indexed parameter with time zone from calendar.

Parameters:
index - the position of the parameter.
calendar - the Calendar object to use to construct the Date object.
Returns:
a Date object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getTime

public java.sql.Time getTime(int index)
                      throws java.sql.SQLException
Gets the time value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a Time object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getTime

public java.sql.Time getTime(int index,
                             java.util.Calendar calendar)
                      throws java.sql.SQLException
Gets time value of the indexed parameter with time zone from calendar.

Parameters:
index - the position of the parameter.
calendar - the Calendar object to use to construct the Time object.
Returns:
a Time object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getTimestamp

public java.sql.Timestamp getTimestamp(int index)
                                throws java.sql.SQLException
Gets the timestamp value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a Tiemstamp object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getTimestamp

public java.sql.Timestamp getTimestamp(int index,
                                       java.util.Calendar calendar)
                                throws java.sql.SQLException
Gets the timestamp value of the indexed parameter with time zone from calendar.

Parameters:
index - the position of the parameter.
calendar - the Calendar object to use to construct the Timestamp object.
Returns:
a Timestamp object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getString

public java.lang.String getString(int index)
                           throws java.sql.SQLException
Gets the string value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a String object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getBytes

public byte[] getBytes(int index)
                throws java.sql.SQLException
Gets the byte array value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a byte array.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getArray

public java.sql.Array getArray(int index)
                        throws java.sql.SQLException
Gets the Array value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
an Array object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getBlob

public java.sql.Blob getBlob(int index)
                      throws java.sql.SQLException
Gets the Blob value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a Blob object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getClob

public java.sql.Clob getClob(int index)
                      throws java.sql.SQLException
Gets the Clob value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a Clob object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

getRef

public java.sql.Ref getRef(int index)
                    throws java.sql.SQLException
Gets the Ref value of the indexed parameter.

Parameters:
index - the position of the parameter.
Returns:
a Ref object.
Throws:
java.sql.SQLException - which contains information about errors in accessing the database.

sessionClosed

public void sessionClosed(com.stc.connector.db.SessionEvent evt)
Processes a SessionClose event for a Stored Procedure.

Parameters:
evt - a SessionEvent instance.

clearParameters

public void clearParameters()
                     throws java.sql.SQLException
Clears all Stored Procedure Input and Output parameters

Specified by:
clearParameters in interface com.stc.connector.appconn.db.PreparedStatementAgent
Overrides:
clearParameters in class PreparedStatementAgentImpl
Throws:
java.sql.SQLException - when there are problems in cleaning the parameters.

setClob

public void setClob(int index,
                    java.lang.Object obj)
             throws java.sql.SQLException
Sets the Clob value of the indexed parameter.

Parameters:
index - index of the parameter
obj - the object value the parameter will be set with
Throws:
java.sql.SQLException - when there are problems in setting the CLOB value.

setResultSetParamsPosition

public void setResultSetParamsPosition(int[] newResultSetParamsPosition)
marks those parameters of a Procedure that are of type ResultSet.


getResultSetParamsPosition

public int[] getResultSetParamsPosition()
gets those parameter positions of a Procedure that are of type ResultSet.


getSig

public java.lang.String getSig(java.sql.ResultSet rs)
Gets the signature of ResultSet


setResultSetsObjects

protected void setResultSetsObjects(SqlserverCallableStatementResultSet[] newResultSetsObjects)
sets the ResultSets added to this Procedure.


getResultSetsObjects

protected SqlserverCallableStatementResultSet[] getResultSetsObjects()
Gets the ResultSets added to this Procedure.


setResultSetTypes

protected void setResultSetTypes(java.lang.Class[] resultSetTypes)
sets the Class info about the ResultSets added to this Procedure.


getResultSetTypes

protected java.lang.Class[] getResultSetTypes()
Gets the Class info about the ResultSets added to this Procedure.


execute

public boolean execute()
                throws java.sql.SQLException
Executes the Procedure & sets the ResultSets of this procedure if any matches the Otd definition.

Specified by:
execute in interface com.stc.connector.appconn.db.PreparedStatementAgent
Overrides:
execute in class PreparedStatementAgentImpl
Returns:
true if the first result is a result set; false if it is an update count or there is no result.
Throws:
java.sql.SQLException - when SQL problems occur.

getUpdateCount

public int getUpdateCount()
                   throws java.sql.SQLException
Description copied from class: PreparedStatementAgentImpl
Returns the records count of the last executed statement.

Specified by:
getUpdateCount in interface com.stc.connector.appconn.db.PreparedStatementAgent
Specified by:
getUpdateCount in interface com.stc.connector.appconn.db.StatementAgent
Overrides:
getUpdateCount in class PreparedStatementAgentImpl
Returns:
the number of updated records.
Throws:
java.sql.SQLException - when SQL problems occur.

resultsAvailable

public boolean resultsAvailable()
                         throws java.sql.SQLException
Description copied from class: PreparedStatementAgentImpl
Determines whether results (Update Counts and/or Result Sets) are available after an execute.

Specified by:
resultsAvailable in interface com.stc.connector.appconn.db.PreparedStatementAgent
Overrides:
resultsAvailable in class PreparedStatementAgentImpl
Returns:
true if Update Counts and/or Result Sets are available.
Throws:
java.sql.SQLException - when SQL problems occur. when SQL problems occur.

setCurRS

protected void setCurRS(java.sql.ResultSet val)
Set the curRS value. Used from CallableStatementResultset when the resultset is closed to set the value to null.

Parameters:
val -

getCurRS

public java.sql.ResultSet getCurRS()
Get the curRS value. Used from CallableStatementResultset to get the ResultSet

Returns:
ResultSet

SQLServer eWay API