|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | ||||||||
@Documented @Retention(value=CLASS) public @interface PublicApi
The annotated element is part of a product's API contract with plugins.
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).
@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 compatibility
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | ||||||||