@Documented @Retention(value=CLASS) public @interface PublicApi
This element is designed for plugins to consume (call its methods).
Clients of @PublicApi can expect
that programs compiled against a given version will remain binary compatible with later versions of the
@PublicApi as per each product's API policy as long as the client does not implement/extend
@PublicApi interfaces or classes (refer to each product's API policy for the exact
guarantee---usually binary compatibility is guaranteed at least across minor versions).
Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients,
we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not
affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces
annotated with PublicSpi are safe to extend/implement).
PublicSpi,
binary compatibilityCopyright © 2016 Atlassian. All rights reserved.