@ApiStatus.OverrideOnly로 표시된 API 메서드 호출을 보고합니다.
The @ApiStatus.OverrideOnly annotation indicates that the annotated method is supposed to be implemented or overridden by
client code, but not called by it directly.
This pattern commonly appears in extension mechanisms where your implementation must conform to some interface, but it's not your
responsibility to call it.
One example of such an extension mechanism is the Service Provider Interface.
이 어노테이션으로 클래스 또는 인터페이스를 표시하는 것은 해당 어노테이션으로 모든 메서드를 표시하는 것과 같습니다.
@ApiStatus.OverrideOnly 어노테이션은 메서드가 서비스 제공자 인터페이스(SPI)의 일부임을 나타냅니다.
선언하는 라이브러리의 클라이언트는 그러한 메서드를 직접 호출하는 것이 아니라 구현하거나 재정의해야 합니다.
이 어노테이션으로 클래스 또는 인터페이스를 표시하는 것은 해당 어노테이션으로 모든 메서드를 표시하는 것과 같습니다.
예:
// In upstream library code
@ApiStatus.OverrideOnly
public class MyService {
public void perform();
}
// In downstream client code
public class Foo {
public void bar(myService: MyService) {
myService.perform();
}
}
This inspection also detects the following problems related to applying the annotation incorrectly:
@ApiStatus.OverrideOnly