Package org.jetbrains.annotations
Annotation Type ApiStatus.NonExtendable
-
@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 toClassCastException
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.