@Documented
@Retention(value=CLASS)
@Target(value={TYPE,METHOD})
public static @interface ApiStatus.NonExtendable
Indicates that the annotated API class, interface or method must not be extended, implemented or overridden.
API class, interface or method may not be marked final
because it is extended by classes of the declaring library
but it is not supposed to be extended outside the library. Instances of classes and interfaces marked with this annotation
may be cast to an internal implementing class in the library code, leading to ClassCastException
if a different implementation is provided by a client.
New abstract methods may be added to such classes and interfaces in new versions of the library breaking compatibility with a client's implementations.