org.hibernate.exception.internal.StandardSQLExceptionConverter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-core Show documentation
Show all versions of hibernate-core Show documentation
JPMS Module-Info's for a few of the Jakarta Libraries just until they add them in themselves
/*
* 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.exception.internal;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import org.hibernate.JDBCException;
import org.hibernate.exception.GenericJDBCException;
import org.hibernate.exception.spi.SQLExceptionConversionDelegate;
import org.hibernate.exception.spi.SQLExceptionConverter;
/**
* @author Steve Ebersole
*/
public class StandardSQLExceptionConverter implements SQLExceptionConverter {
private ArrayList delegates = new ArrayList();
public StandardSQLExceptionConverter() {
}
public StandardSQLExceptionConverter(SQLExceptionConversionDelegate... delegates) {
if ( delegates != null ) {
this.delegates.addAll( Arrays.asList( delegates ) );
}
}
public void addDelegate(SQLExceptionConversionDelegate delegate) {
if ( delegate != null ) {
this.delegates.add( delegate );
}
}
@Override
public JDBCException convert(SQLException sqlException, String message, String sql) {
for ( SQLExceptionConversionDelegate delegate : delegates ) {
final JDBCException jdbcException = delegate.convert( sqlException, message, sql );
if ( jdbcException != null ) {
return jdbcException;
}
}
return new GenericJDBCException( message, sqlException, sql );
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy