1 // Protocol Buffers - Google's data interchange format 2 // Copyright 2008 Google Inc. All rights reserved. 3 // 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file or at 6 // https://developers.google.com/open-source/licenses/bsd 7 8 package com.google.protobuf; 9 10 import java.lang.annotation.Documented; 11 import java.lang.annotation.ElementType; 12 import java.lang.annotation.Retention; 13 import java.lang.annotation.RetentionPolicy; 14 import java.lang.annotation.Target; 15 16 /** 17 * Indicates a public API that can change at any time, and has no guarantee of API stability and 18 * backward-compatibility. 19 * 20 * <p>Usage guidelines: 21 * 22 * <ol> 23 * <li>This annotation is used only on public API. Internal interfaces should not use it. 24 * <li>This annotation should only be added to new APIs. Adding it to an existing API is 25 * considered API-breaking. 26 * <li>Removing this annotation from an API gives it stable status. 27 * </ol> 28 */ 29 @Retention(RetentionPolicy.SOURCE) 30 @Target({ 31 ElementType.ANNOTATION_TYPE, 32 ElementType.CONSTRUCTOR, 33 ElementType.FIELD, 34 ElementType.METHOD, 35 ElementType.PACKAGE, 36 ElementType.TYPE 37 }) 38 @Documented 39 public @interface ExperimentalApi { 40 /** Context information such as links to discussion thread, tracking issue etc. */ value()41 String value() default ""; 42 } 43