|
@@ -21,9 +21,20 @@ import java.lang.annotation.Documented;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
|
|
|
|
|
|
+import org.apache.hadoop.classification.InterfaceAudience.LimitedPrivate;
|
|
|
|
+import org.apache.hadoop.classification.InterfaceAudience.Private;
|
|
|
|
+import org.apache.hadoop.classification.InterfaceAudience.Public;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Annotation to inform users of how much to rely on a particular package,
|
|
* Annotation to inform users of how much to rely on a particular package,
|
|
- * class or method not changing over time.
|
|
|
|
|
|
+ * class or method not changing over time. Currently the stability can be
|
|
|
|
+ * {@link Stable}, {@link Evolving} or {@link Unstable}. <br>
|
|
|
|
+ *
|
|
|
|
+ * <ul><li>All classes that are annotated with {@link Public} or
|
|
|
|
+ * {@link LimitedPrivate} must have InterfaceStability annotation. </li>
|
|
|
|
+ * <li>Classes that are {@link Private} are to be considered unstable unless
|
|
|
|
+ * a different InterfaceStability annotation states otherwise.</li>
|
|
|
|
+ * <li>Incompatible changes must not be made to classes marked as stable.</li>
|
|
*/
|
|
*/
|
|
@InterfaceAudience.Public
|
|
@InterfaceAudience.Public
|
|
@InterfaceStability.Evolving
|
|
@InterfaceStability.Evolving
|