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 でコンパイルします。Eclipse のクイック・フィックスを使用して欠落しているメソッドを追加し、その後、欠落している実装を手動で追加します。
詳しくは、 java.sql.Wrapper インターフェースに関する Java 資料を参照してください。