Package org.jetbrains.annotations

# Annotation Interface ApiStatus.NonExtendable

Enclosing class:
  `ApiStatus`

@Documented @Retention(CLASS) @Target({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.