Why finalize GLCanvas?

Hi all,

I am finding that it would be very nice to be able to extend GLCanvas rather than put it in a wrapper. Does anyone else feel the same way? Besides the fact that the GLCanvas is created via a factory, are there any other reasons for GLCanvas to be final? It seems like it would be better to have a constructor which takes a GLCapabilities class and de-finalize GLCanvas. You could then extend the GLCanvas as needed.

What do you all think?

Sorry for the delay in replying. The original motivation for making GLCanvas final was to prevent mistakes; during the last few months I was an active maintainer of GL4Java, all of the problems that were raised on the mailing list were due to subclassing GLCanvas and not properly maintaining invariants of the class.

However, the issue of JOGL’s final GLCanvas class has been raised before and the intent is to make it non-final. I think there is an RFE on this on the JOGL Issues page. If not feel free to file one.