3 イベントのネーミングおよびラベル付けのガイドライン

注釈@Nameおよび@Labelを設定して、すべてのイベントに名前とラベルを付ける必要があります。

イベントのネーミングのガイドライン

イベントには次の書式で名前を付けますが、www.example.comは組織のドメインで、Nameはイベント・クラスの名前です:

com.example.Name

イベント・クラスに名前を付けるとき、Eventという語は使用しません。

デフォルトでは、イベントの名前は、完全修飾クラス名から付けられます。たとえば、SetMetadataSample.javaの例(「イベント・メタデータ」を参照)では、イベントHelloのデフォルト名はfrexamples.SetMetadataSample$Helloです。

これは試験的には機能していますが、本番コードでは@Name注釈を省略しないでください。ソース・コードのリファクタや、別のパッケージへのイベント・クラスの移動が必要になる可能性もあります。イベントの名前を@Name注釈で指定していないと、イベント・クラスをリファクタする際に、イベントを構成するコードや設定ファイルを破損する可能性があります。また、デフォルトの名前でイベントが識別されている記録ファイルの解析コードを破損する場合もあります。

完全修飾クラス名には、除外が必要なjfrinternaleventsまたはEventsなどの冗長または不要な文字列が含まれていることもあります。

イベント名は短くする必要がありますが、他の組織や製品と競合するほど短くしないでください。イベントを構成するユーザーにわかりやすい名前にする必要があります。これは特に、イベントが、第三者の使用するフレームワークやライブラリの一部である場合に当てはまります。通常は、ライブラリまたは製品のすべてのイベントを同じネームスペースに配置すれば十分です。たとえば、OpenJDKのすべてのイベントは、jdkネームスペースに存在します。複雑になるため、hotspotgcまたはcompiler用のサブネームスペースはありません。ただし、@Category注釈を使用してイベントをカテゴリに分けることが可能で、問題を発生させずに自由に変更できます。

イベントのラベル付けのガイドライン

ラベルでは、大文字と小文字を見出し形式で使用します。最初と最後の語、すべての名詞、代名詞、形容詞、動詞および副詞を大文字にします。文末に付ける記号類は使用しないでください。イベント名と同様に、Eventという語は使用しません。@Labelは識別子として使用しないでください。かわりに、@Name注釈を使用します。

ラベルは、カスタムのビジュアライゼーション・ツールなどのユーザー・インタフェースにイベントを表示するために使用します。たとえば、JDK Mission Controlのイベント・ブラウザでは、ラベルを使用してイベント・タイプ・ツリーにイベントを表示しています。