Indicates a public API that is stable for callers to use, but has no guarantee of stability for
extension. Consequently, the API should only be extended within the package containing the API.
For example:
An interface marked with this annotation can have new methods added to it.
A non-final class with this annotation can be marked final.
A class with this annotation can have new abstract methods added.
a non-final method with this annotation can be marked final.
The list above is just for illustration purposes and is not exhaustive.
Adding this annotation to an API is considered API-breaking.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-09 UTC."],[[["The latest version available is 2.46.1, while the content provides links to multiple past versions of the API documentation, starting from version 2.46.1 and going down to version 2.1.2."],["The `InternalExtensionOnly` interface, when implemented, signifies a public API intended for use by callers but not for extension outside of its defining package, thus ensuring controlled modifications."],["Applying the `InternalExtensionOnly` annotation to an API is considered a breaking change."],["The `InternalExtensionOnly` interface includes an abstract method `value()` that returns a String, which is intended to provide context on why the interface or class is annotated as such."],["This interface indicates a class or interface that allows for adding methods, marking as final or adding abstract methods."]]],[]]