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