[ 
https://issues.apache.org/jira/browse/HADOOP-5073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12751576#action_12751576
 ] 

Tsz Wo (Nicholas), SZE commented on HADOOP-5073:
------------------------------------------------

It is hard to get nested annotations correct.  I still think that Public, 
LimitedPrivate and Private are values of Audience.

If we are going to do nested annotations, I suggest to followings:
- Audience indeed is an annotation container.  So it should be a class with a 
private constructor but not itself an annotation.  Otherwise, someone may use 
@Audience later.
- We also have to repeat   @Documented and @Inherited for each nested 
annotations.
- From the 
[doc|http://java.sun.com/javase/6/docs/technotes/guides/language/annotations.html],
 it says "In annotations with a single element, the element should be named 
value, ... ".  So the "target" in LimitedPrivate should be renamed to "value".


{code}
public final class Audience {
  private Audience() {}

  @Documented
  @Inherited
  public @interface Public {}

  @Documented
  @Inherited
  public @interface LimitedPrivate {
    String[] value();
  }

  @Documented
  @Inherited
  public @interface Private {}
}
{code}

> Hadoop 1.0 Interface Classification - scope (visibility - public/private) and 
> stability
> ---------------------------------------------------------------------------------------
>
>                 Key: HADOOP-5073
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5073
>             Project: Hadoop Common
>          Issue Type: Sub-task
>            Reporter: Sanjay Radia
>            Assignee: Sanjay Radia
>         Attachments: 5073_demo.png, c5073_20090825.patch, c5073_20090825.png, 
> HADOOP-5073.patch, Nested.png, Picture 1.png
>
>
> This jira proposes an interface classification for hadoop interfaces.
> The discussion was started in email alias core-...@hadoop.apache.org in Nov 
> 2008.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to