Module org.eclipse.persistence.core
Class BindCallCustomParameter
java.lang.Object
org.eclipse.persistence.internal.databaseaccess.BindCallCustomParameter
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
InParameterForCallableStatement
,Oracle9Platform.NTypeBindCallCustomParameter
,OutputParameterForCallableStatement
,XMLTypeBindCallCustomParameter
INTERNAL:
Purpose: To provide a base type for customary parameters' types used for binding by DatabaseCall: descendants of DatabasePlatform may create instances of descendants of this class in customModifyInDatabaseCall method.
Responsibilities:- See Also:
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
INTERNAL: Binds the custom parameter (obj) into the passed PreparedStatement for the passed DatabaseCall. -
Method Summary
Modifier and TypeMethodDescriptionconvert
(Object parameter, DatabaseField dbField, AbstractSession session, Connection connection) INTERNAL: Converts the parameter object from a collection or java object into a JDBC type such as an Array or Struct object, based on the type information contained in the dbField object.void
set
(DatabasePlatform platform, CallableStatement statement, String parameterName, AbstractSession session) Sets this bound parameter, on the given statement, for the given parameterName.void
set
(DatabasePlatform platform, PreparedStatement statement, int parameterIndex, AbstractSession session) Sets this bound parameter, on the given statement, at the given parameterIndex.boolean
Return if unwrapped connection should be used.toString()
-
Field Details
-
obj
-
-
Constructor Details
-
BindCallCustomParameter
INTERNAL: Binds the custom parameter (obj) into the passed PreparedStatement for the passed DatabaseCall. Called only by DatabasePlatform.setParameterValueInDatabaseCall method -
BindCallCustomParameter
protected BindCallCustomParameter()
-
-
Method Details
-
shouldUseUnwrappedConnection
public boolean shouldUseUnwrappedConnection()Return if unwrapped connection should be used. -
set
public void set(DatabasePlatform platform, PreparedStatement statement, int parameterIndex, AbstractSession session) throws SQLException Sets this bound parameter, on the given statement, at the given parameterIndex. Note:PreparedStatement
contains setX(int parameterIndex, X x) methods. This method aligns with that pattern.- Throws:
SQLException
-
set
public void set(DatabasePlatform platform, CallableStatement statement, String parameterName, AbstractSession session) throws SQLException Sets this bound parameter, on the given statement, for the given parameterName. Note:CallableStatement
contains setX(int parameterName, X x) methods. This method aligns with that pattern.- Throws:
SQLException
-
toString
-
convert
public Object convert(Object parameter, DatabaseField dbField, AbstractSession session, Connection connection) throws SQLException INTERNAL: Converts the parameter object from a collection or java object into a JDBC type such as an Array or Struct object, based on the type information contained in the dbField object. If the parameter is null, the dbField will be returned to represent the null value. A Struct object will be returned if: 1) the dbField is an ObjectRelationalDatabaseField with its sqltype set to Types.STRUCT 2) parameter is not an instanceof java.sql.Struct 3) There is an ObjectRelationalDataTypeDescriptor defined for the parameter object's class An Array object will be returned if: 1) the dbField is an ObjectRelationalDatabaseField and sqltype is set to Types.ARRAY 2) parameter is an instanceof collection and is not an instanceof java.sql.Array This method will be used recursively on the dbField's nestedField and objects in the collection to build the Array object, allowing for nested structures to be produced ie arrays of arrays- Throws:
SQLException
-