In Java SE 6, è stata aggiunta una nuova super-interfaccia java.sql.Wrapper alle seguenti interfacce SQL:
Questa regola rileva e contrassegna le classi Java che implementano queste interfacce se le classi non hanno i metodi Wrapper.
Qualsiasi classe che implementa queste interfacce Java non può essere compilata fino a quando i metodi Wrapper non vengono aggiunti alla classe.
Nel seguente esempio, la classe MyClass verrà contrassegnata fino all'aggiunta dei metodi isWrapperFor e unwrap:
public class MyClass implementa javax.sql.DataSource {
la connessione pubblica getConnection() genera SQLException {
// TODO Auto-generated method stub
return null;
}
public Connection getConnection(String username, String password) genera SQLException {
// TODO Auto-generated method stub
return null;
}
public PrintWriter getLogWriter () genera SQLException {
// TODO Auto-generated method stub
return null;
}
public void setLogWriter (PrintWriter out) genera SQLException {
// TODO Auto-generated method stub
}
public void setLoginTimeout (int secondi) genera SQLException {
// TODO Auto-generated method stub
}
public int getLoginTimeout () genera SQLException {
// TODO Auto-generated method stub
return 0;
} }
Per risolvere il problema, compilare l'applicazione in Eclipse utilizzando Java 6 o le versioni successive. Utilizzare la correzione automatica per aggiungere i metodi mancanti, quindi aggiungere manualmente l'implementazione mancante. Copiare la configurazione personalizzata (custom configuration) nel file di build dell'applicazione per abilitare l'automazione delle correzioni.
Per ulteriori informazioni, consultare la documentazione Java dell'interfaccia java.sql.Wrapper.