All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.ebeaninternal.server.persist.dmlbind.BindableRequest Maven / Gradle / Ivy

There is a newer version: 15.8.0
Show newest version
package io.ebeaninternal.server.persist.dmlbind;

import io.ebeaninternal.server.core.PersistRequestBean;
import io.ebeaninternal.server.deploy.BeanProperty;

import java.sql.SQLException;

/**
 * Request object passed to bindables.
 */
public interface BindableRequest {

  /**
   * Set the id for use with summary level logging.
   */
  void setIdValue(Object idValue);

  /**
   * Bind the value to a PreparedStatement.
   * 

* Takes into account logicalType to dbType conversion if required. *

* Returns the value that was bound (and was potentially converted from * logicalType to dbType. */ void bind(Object value, BeanProperty prop) throws SQLException; /** * Bind a raw value. Used to bind the discriminator column. */ void bind(Object value, int sqlType) throws SQLException; /** * Bind a raw value with a placeHolder to put into the transaction log. */ void bindNoLog(Object value, int sqlType, String logPlaceHolder) throws SQLException; /** * Bind the value to the preparedStatement without logging. */ void bindNoLog(Object value, BeanProperty prop) throws SQLException; /** * Return the original PersistRequest. */ PersistRequestBean persistRequest(); /** * Return the system current time in millis. This is expected to the same time used * by multiple generated properties for a single request. */ long now(); /** * Return true if this is an update request. */ boolean isUpdate(); /** * Push json content for scalarType bind(). */ void pushJson(String json); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy