org.firebirdsql.jdbc.FBSQLWarning Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jaybird Show documentation
Show all versions of jaybird Show documentation
JDBC Driver for the Firebird RDBMS
/*
* Firebird Open Source J2ee connector - jdbc driver
*
* Distributable under LGPL license.
* You may obtain a copy of the License at http://www.gnu.org/copyleft/lgpl.html
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* LGPL License for more details.
*
* This file was created by members of the firebird development team.
* All individual contributions remain the Copyright (C) of those
* individuals. Contributors to this file are either listed here or
* can be obtained from a CVS history command.
*
* All rights reserved.
*/
package org.firebirdsql.jdbc;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.sql.SQLWarning;
import org.firebirdsql.gds.GDSException;
/**
* This class is a wrapper for {@link GDSException} instance that is
* warning.
*
* @author Roman Rokytskyy
*/
public class FBSQLWarning extends SQLWarning {
public static final String SQL_STATE_WARNING = "01000";
private GDSException original;
private String message;
/**
* Create instance of this class.
*
* @param original instance of {@link GDSException} that is
* warning
*
* @throws IllegalArgumentException if original.isWarning()
* returns false
).
*/
public FBSQLWarning(GDSException original) {
super(original.getMessage(), SQL_STATE_WARNING);
if (!original.isWarning())
throw new IllegalArgumentException(
"Only warnings can be wrapped.");
this.original = original;
this.message = original.getMessage();
}
/**
* Create instance of this class for the specified message.
*
* @param message message for this warning.
*/
public FBSQLWarning(String message) {
super(message, SQL_STATE_WARNING);
}
/**
* Get error code for this warning.
*
* @return error code for this warning.
*/
public int getErrorCode() {
if (original instanceof GDSException)
return ((GDSException)original).getIntParam();
else
return 0;
}
public Exception getInternalException() {
return original;
}
public String getMessage() {
return message;
}
public void printStackTrace() {
printStackTrace(System.err);
}
public void printStackTrace(PrintStream s) {
super.printStackTrace(s);
if (original != null) {
s.print("at ");
original.printStackTrace(s);
}
}
public void printStackTrace(PrintWriter s) {
super.printStackTrace(s);
if (original != null) {
s.print("at ");
original.printStackTrace(s);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy