Class BindCallCustomParameter

java.lang.Object
org.eclipse.persistence.internal.databaseaccess.BindCallCustomParameter
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
InParameterForCallableStatement, Oracle9Platform.NTypeBindCallCustomParameter, OutputParameterForCallableStatement, XMLTypeBindCallCustomParameter

public class BindCallCustomParameter extends Object implements Serializable
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 Details

  • Constructor Details

    • BindCallCustomParameter

      public BindCallCustomParameter(Object obj)
      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

      public String toString()
      Overrides:
      toString in class Object
    • 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