JEP 277: Enhanced Deprecation
    Alex Buckley 
    alex.buckley at oracle.com
       
    Thu Oct 29 01:10:48 UTC 2015
    
    
  
On 10/28/2015 1:24 PM, mark.reinhold at oracle.com wrote:
> New JEP Candidate: http://openjdk.java.net/jeps/277
- Should I be able to say CONDEMNED regardless of the reason why an API 
is being deprecated ("don't know", "obsolete", "superseded") ? You don't 
state that for UNSPECIFIED ("don't know").
- DANGEROUS and UNIMPLEMENTED criticize the actual functionality of an 
API, which is far less meta than the reasons for deprecation above. 
Suppose you decide to deprecate a method for being DANGEROUS, and are 
able to mark it SUPERSEDED -- it's possible the replacement might be 
DANGEROUS too, but would never be SUPERSEDED too.
(Another angle. I can think of many other critical terms for signatures 
(USES_RAW_TYPES, INAPPROPRIATE_USE_OF_OPTIONAL) and implementations 
(SLOW, INSECURE) -- whereas the following two notices cover the ground 
completely: "Without telling you why, I suggest you don't use this; 
there is no replacement" and "Without telling you why, I suggest you 
don't use this; there is a replacement". Things like DANGEROUS and SLOW 
are in the "telling you why" business.)
- Consider one of the circumstances detailed by JLS 9.6.4.6 for NOT 
giving a deprecation warning: "The use is within an entity that is 
itself annotated with the annotation @Deprecated". Does this apply 
regardless of the reasons for the inner and outer deprecations?
- Consider the effect on @SuppressWarnings("deprecation").
- Suggest s/JRE/Java runtime/g.
Alex
    
    
More information about the jdk9-dev
mailing list