com.avaje.ebeaninternal.server.persist.dmlbind.BindableRequest Maven / Gradle / Ivy
package com.avaje.ebeaninternal.server.persist.dmlbind;
import com.avaje.ebeaninternal.server.core.PersistRequestBean;
import com.avaje.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;
/**
* Register the value from a update GeneratedValue. This can only be set to
* the bean property after the where clause has bean built.
*/
void registerGeneratedVersion(Object value);
/**
* Return the original PersistRequest.
*/
PersistRequestBean> getPersistRequest();
/**
* 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();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy