Java SE 6 では、以下の SQL インターフェースに、新規の java.sql.Wrapper スーパーインターフェースが追加されました。
この規則は、これらのインターフェースを実装する Java クラスに Wrapper メソッドがない場合に、それらの Java クラスを検出し、それらにフラグを立てます。
これらの Java インターフェースを実装するクラスは、そのクラスに Wrapper メソッドが追加されるまでコンパイルできません。
以下の例では、isWrapperFor メソッドと unwrap メソッドが追加されるまで、MyClass クラスにフラグが立てられます。
public class MyClass implements javax.sql.DataSource {
public Connection getConnection() throws SQLException {
// TODO Auto-generated method stub
return null;
}
public Connection getConnection(String username, String password)
throws SQLException {
// TODO Auto-generated method stub
return null;
}
public PrintWriter getLogWriter() throws SQLException {
// TODO Auto-generated method stub
return null;
}
public void setLogWriter(PrintWriter out) throws SQLException {
// TODO Auto-generated method stub
}
public void setLoginTimeout(int seconds) throws SQLException {
// TODO Auto-generated method stub
}
public int getLoginTimeout() throws SQLException {
// TODO Auto-generated method stub
return 0;
}
}
|
問題を修正するには、Java 6 以上を使用してアプリケーションを Eclipse でコンパイルします。 自動修正を使用して、欠落しているメソッドを追加してから、欠落している実装を手動で追加してください。 カスタム構成をアプリケーション・ビルド・ファイルにコピーして、フィックスの自動化を有効にします。
詳しくは、 java.sql.Wrapper インターフェースに関する Java 資料を参照してください。