@Pattern アノテーションのないメソッドが @Pattern アノテーションが付いたメソッドをオーバーライドしている場合に報告します。
このような場合にエディタ内でエラーがハイライトされなくなることはありませんが、オーバーライドしているメソッドは実行時にチェックされません。
スーパークラスメソッドのアノテーションと一致する @Pattern アノテーションを追加するクイックフィックスが提供されています。 このクイックフィックスは、ランタイムチェックのインストルメンテーションが正しく機能するようにします。
例:
abstract class Parent {
abstract @Pattern("\\d\\d-\\d\\d\\d") String getId();
}
class Child extends Parent {
@Override String getId() { // ここで警告が出ます
return "12-345";
}
}