ApiStability.java

  1. /*
  2.  * @copyright defined in LICENSE.txt
  3.  */

  4. package hera.annotation;

  5. import java.lang.annotation.Documented;
  6. import java.lang.annotation.Retention;
  7. import java.lang.annotation.RetentionPolicy;

  8. @ApiAudience.Public
  9. @ApiStability.Unstable
  10. public class ApiStability {
  11.   /**
  12.    * Can evolve while retaining compatibility for minor release boundaries.;
  13.    * can break compatibility only at major release (ie. at m.0).
  14.    */
  15.   @Documented
  16.   @Retention(RetentionPolicy.RUNTIME)
  17.   public @interface Stable {};

  18.   /**
  19.    * No guarantee is provided as to reliability or stability across any
  20.    * level of release granularity.
  21.    */
  22.   @Documented
  23.   @Retention(RetentionPolicy.RUNTIME)
  24.   public @interface Unstable {};

  25. }