In general, should we apply a policy that if you need to extend a class 
which is not API, then you must expose any of the API you expect to support via 
an interface? So your API class which extends a non-API class would be required 
to define an interface, and then expose that interface as API. 
 
We will hit issues with this approach for static factory methods, so we may 
need another approach for that -- or require that any method that is a static 
use a singleton class which could then create or manage objects as the static 
method would have. There are advantages to an approach like this where we can 
better control and coordinate the program flow through the otherwise static 
methods in order to address possible issues of concurrency and 
thread-safeness. 
 
What's the motivation behind wanting to expose an API class from an 
extension to an internal class? What are the benefits to that approach? 
 
 
 
-------------------------------------------------------------------------
Kind Regards,
 
Michael D. Elder
Rational Studio / J2EE Tools 
Development     
IBM RTP Lab
Ext: (919) 543-8356
T/L: 441-8356
mdelder@xxxxxxxxxx
 
 
 
Wednesday, May 11, 2005 11:09 AM
To: wtp-dev@xxxxxxxxxxx
cc: Jim 
des Rivieres <Jim_des_Rivieres@xxxxxxxxxx>
From: Arthur Ryman 
<ryman@xxxxxxxxxx>
Subject: [wtp-dev] API Types that Inherit from 
Non-API Types