Author: suresh Date: Wed Jun 27 19:32:21 2012 New Revision: 1354684 URL: http://svn.apache.org/viewvc?rev=1354684&view=rev Log: HADOOP-8059. Add javadoc to InterfaceAudience and InterfaceStability. Contributed by Brandon Li.
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceAudience.java hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceStability.java hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Modified: hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceAudience.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceAudience.java?rev=1354684&r1=1354683&r2=1354684&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceAudience.java (original) +++ hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceAudience.java Wed Jun 27 19:32:21 2012 @@ -21,6 +21,24 @@ import java.lang.annotation.Documented; /** * Annotation to inform users of a package, class or method's intended audience. + * Currently the audience can be {@link Public}, {@link LimitedPrivate} or + * {@link Private}. <br> + * All public classes must have InterfaceAudience annotation. <br> + * <ul> + * <li>Public classes that are not marked with this annotation must be + * considered by default as {@link Private}.</li> + * + * <li>External applications must only use classes that are marked + * {@link Public}. Avoid using non public classes as these classes + * could be removed or change in incompatible ways.</li> + * + * <li>Hadoop projects must only use classes that are marked + * {@link LimitedPrivate} or {@link Public}</li> + * + * <li> Methods may have a different annotation that it is more restrictive + * compared to the audience classification of the class. Example: A class + * might be {@link Public}, but a method may be {@link LimitedPrivate} + * </li></ul> */ @InterfaceAudience.Public @InterfaceStability.Evolving Modified: hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceStability.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceStability.java?rev=1354684&r1=1354683&r2=1354684&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceStability.java (original) +++ hadoop/common/trunk/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceStability.java Wed Jun 27 19:32:21 2012 @@ -19,9 +19,20 @@ package org.apache.hadoop.classification import java.lang.annotation.Documented; +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, - * 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 @InterfaceStability.Evolving Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1354684&r1=1354683&r2=1354684&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt (original) +++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Wed Jun 27 19:32:21 2012 @@ -79,6 +79,9 @@ Trunk (unreleased changes) HADOOP-7659. fs -getmerge isn't guaranteed to work well over non-HDFS filesystems (harsh) + HADOOP-8059. Add javadoc to InterfaceAudience and InterfaceStability. + (Brandon Li via suresh) + BUG FIXES HADOOP-8177. MBeans shouldn't try to register when it fails to create MBeanName.