public interface ResultSetInternalMethods with nonpublic CachedResultSetMetaData

Eric <[email protected]> Fri, 11 Jan 2008 09:32:55 -0600
Newsgroups gmane.comp.db.mysql.java
Message-ID <[email protected]>
This seems like a pretty straightforward bug in the connector/j class
hierarchy:

ResultSetInternalMethods is a public interface, but it requires
implementing the following two methods that depend on
CachedResultSetMetaData, which is a package-private class:

populateCachedMetaData(CachedResultSetMetaData cachedMetaData)
initializeFromCachedMetaData(CachedResultSetMetaData cachedMetaData)

This effectively makes it impossible to implement that interface
outside the com.mysql.jdbc package, voiding its utility as a public
interface.  This is a problem when implementing StatementInterceptors
because as the comments of ResultSetInternalMethods say, it is
"intended to be used by implementors of statement interceptors so that
implementors can create static ... proxy instances of ResultSets".
This is not actually possible without introducing a class into the
com.mysql.jdbc package.

Help?  Thanks,
eric

-- 
http://ir.iit.edu/~ej

-- 
MySQL Java Mailing List
For list archives: http://lists.mysql.com/java
To unsubscribe:    http://lists.mysql.com/[email protected]