|
@@ -18,6 +18,8 @@
|
|
|
package org.apache.hadoop.classification;
|
|
|
|
|
|
import java.lang.annotation.Documented;
|
|
|
+import java.lang.annotation.Retention;
|
|
|
+import java.lang.annotation.RetentionPolicy;
|
|
|
|
|
|
/**
|
|
|
* Annotation to inform users of a package, class or method's intended audience.
|
|
@@ -46,20 +48,26 @@ public class InterfaceAudience {
|
|
|
/**
|
|
|
* Intended for use by any project or application.
|
|
|
*/
|
|
|
- @Documented public @interface Public {};
|
|
|
+ @Documented
|
|
|
+ @Retention(RetentionPolicy.RUNTIME)
|
|
|
+ public @interface Public {};
|
|
|
|
|
|
/**
|
|
|
* Intended only for the project(s) specified in the annotation.
|
|
|
* For example, "Common", "HDFS", "MapReduce", "ZooKeeper", "HBase".
|
|
|
*/
|
|
|
- @Documented public @interface LimitedPrivate {
|
|
|
+ @Documented
|
|
|
+ @Retention(RetentionPolicy.RUNTIME)
|
|
|
+ public @interface LimitedPrivate {
|
|
|
String[] value();
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* Intended for use only within Hadoop itself.
|
|
|
*/
|
|
|
- @Documented public @interface Private {};
|
|
|
+ @Documented
|
|
|
+ @Retention(RetentionPolicy.RUNTIME)
|
|
|
+ public @interface Private {};
|
|
|
|
|
|
private InterfaceAudience() {} // Audience can't exist on its own
|
|
|
}
|