org.hibernate.engine.spi.AbstractDelegatingSessionBuilder Maven / Gradle / Ivy
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.engine.spi;
import java.sql.Connection;
import java.util.TimeZone;
import org.hibernate.ConnectionReleaseMode;
import org.hibernate.Interceptor;
import org.hibernate.Session;
import org.hibernate.SessionBuilder;
import org.hibernate.SessionEventListener;
import org.hibernate.resource.jdbc.spi.StatementInspector;
/**
* Base class for {@link SessionBuilder} implementations that wish to implement only parts of that contract themselves
* while forwarding other method invocations to a delegate instance.
*
* @author Gunnar Morling
*/
public abstract class AbstractDelegatingSessionBuilder implements SessionBuilder {
private final SessionBuilder delegate;
public AbstractDelegatingSessionBuilder(SessionBuilder delegate) {
this.delegate = delegate;
}
@Override
public Session openSession() {
return delegate.openSession();
}
@Override
public SessionBuilder interceptor(Interceptor interceptor) {
delegate.interceptor( interceptor );
return this;
}
@Override
public SessionBuilder noInterceptor() {
delegate.noInterceptor();
return this;
}
@Override
public SessionBuilder statementInspector(StatementInspector statementInspector) {
delegate.statementInspector( statementInspector );
return this;
}
@Override
public SessionBuilder connection(Connection connection) {
delegate.connection( connection );
return this;
}
@Override
public SessionBuilder connectionReleaseMode(ConnectionReleaseMode connectionReleaseMode) {
delegate.connectionReleaseMode( connectionReleaseMode );
return this;
}
@Override
public SessionBuilder autoJoinTransactions(boolean autoJoinTransactions) {
delegate.autoJoinTransactions( autoJoinTransactions );
return this;
}
@Override
public SessionBuilder autoClose(boolean autoClose) {
delegate.autoClose( autoClose );
return this;
}
@Override
public SessionBuilder flushBeforeCompletion(boolean flushBeforeCompletion) {
delegate.flushBeforeCompletion( flushBeforeCompletion );
return this;
}
@Override
public SessionBuilder tenantIdentifier(String tenantIdentifier) {
delegate.tenantIdentifier( tenantIdentifier );
return this;
}
@Override
public SessionBuilder eventListeners(SessionEventListener... listeners) {
delegate.eventListeners( listeners );
return this;
}
@Override
public SessionBuilder clearEventListeners() {
delegate.clearEventListeners();
return this;
}
@Override
public SessionBuilder jdbcTimeZone(TimeZone timeZone) {
delegate.jdbcTimeZone(timeZone);
return this;
}
@Override
public SessionBuilder setQueryParameterValidation(boolean enabled) {
delegate.setQueryParameterValidation( enabled );
return this;
}
}