Build for JDK 1.6 and above.
JDK 1.6 includes JDBC 4.0 APIs, whereas JDK 1.7 includes JDBC 4.1. We therefore need to downgrade JDK 1.7 to use JDBC 4.0 in order to build successfully. Downgrading is achieved by adding jdbc-4.0-overlay.jar to the compiler's bootstrap classpath, where this jar contains hand-crafted, APL-compatible versions of the relevant JDBC 4.0 interfaces only.
Add @Override annotations, and make some unchanging fields final.
Reimplement XA state as an enum.
Use Charset objects.
Enable warnings for deprecation and unchecked generics, and resolve all of them.