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."],[[["This webpage lists the versions of the `com.google.api.core.InternalExtensionOnly` component, ranging from the latest version, 2.46.1, down to version 2.1.2."],["`InternalExtensionOnly` is a public Java API, marked as stable for callers, however it is not guaranteed stable for extension outside of its package."],["The `InternalExtensionOnly` interface is designed to indicate that new methods, final modifiers, or abstract methods may be added in future updates, meaning extensions are likely to be broken."],["Adding the `InternalExtensionOnly` annotation to any API is considered a breaking change, and this is something that should be taken into account."],["`InternalExtensionOnly` implements the Annotation interface, which is part of the java standard library and has a method called value() which gives context to why it was annotated."]]],[]]