@Supported design issues

Joseph Darcy joe.darcy at oracle.com
Tue Sep 10 23:26:48 UTC 2013


On 9/10/2013 10:08 AM, David M. Lloyd wrote:
> On 09/10/2013 11:54 AM, Mandy Chung wrote:
>> On 9/10/13 9:47 AM, Joe Darcy wrote:
>>>
>>> On 9/10/2013 6:28 AM, Alan Bateman wrote:
>>>> On 06/09/2013 04:23, mark.reinhold at oracle.com wrote:
>>>>> :
>>>>> Well, looking ahead to when the platform will be composed of modules,
>>>>> those modules will declare that they "export" some API elements, but
>>>>> not others.  An @Exported annotation would help get people used to
>>>>> the expected future terminology.
>>>>>
>>>> @Exported is quite good, and consistent with where this is likely 
>>>> going.
>>>>
>>>> Joe - what would you think of just running with this? I'm anxious
>>>> that we decide on this soon so that we don't run out of time in jdk8.
>>>>
>>>
>>> I don't object to using @Exported.
>>
>> I like @Exported as well.
>
> If we're framing it in terms of modules, I think it would make more 
> sense to have exporting be default and "hidden" be opt-in.
>
> And, while we're at it, "hidden" really ought to apply at a package 
> level, not a class level.
>
> In other words: don't make this about modularity.

To bring in some of the initial context, this feature is about 
documenting and formalizing the historically unclear 
exported-ness/supported-ness of types in the com.sun.* packages. Some 
com.sun.* types are intended to be used outside of the JDK while others 
are not.

To bring clarity to this situation, I'd like to see each type and 
package in com.sun.* either have an explicit @Exported(true) XOR 
@Exported(false) annotation applied to it. This make a clear statement 
around the intentions of the type and will allow better tooling to be 
written.

-Joe




More information about the core-libs-dev mailing list