We've been running our own implementation of JSR 114 since 2005, but it has become untenable. My intent was to switch over to what's delivered in the JDK as the "reference" implementation. The problem is, it's in the com.sun package, which tells me it will soon go away, or is at least at risk.
My question: Since I need to modify the reference implementation, should I (can I) just refactor it to a different package, make my changes, and call it my own?
Here are some of the features that I need to add:
1) setReadOnly(int column) - RowSetMetaData supports the concept of a read-only column, but there is no way to set it programmatically and the reference CachedRowSetWriter just blasts all the columns to the database without checking the read-only flag.
2) addColumn() - We need to be able to add columns programmatically to an existing CachedRowSet. Don't ask.
3) isOnInsertRow() - I'm not sure why this isn't there, but there are times when you need to know the state of the CachedRowSet. We already have isBeforeFirst() and isAfterLast(), why not isOnInsertRow()?
I find it interesting that the folks at Sun (Oracle) publish docs that say the reference implementation is meant to be extended, then all the internal structures (rows, columns, metadata) are private so you can't effectively extend and enhance.