インタフェースAttributedElement
- すべてのスーパー・インタフェース:
ClassFileElement
- 既知のすべてのサブインタフェース:
ClassModel,CodeAttribute,CodeModel,FieldModel,MethodModel,RecordComponentInfo
public sealed interface AttributedElement extends ClassFileElement permits ClassModel, CodeModel, FieldModel, MethodModel, RecordComponentInfo (not exhaustive)
classファイル、フィールド、メソッド、Code属性、レコード・コンポーネントなどの属性を持つclassファイル構造を記述するClassFileElement。
特に指定がないかぎり、CompoundElementで検出できるほとんどの属性は、 ClassFileElementの対応する「メンバーシップ・サブインタフェース」を実装し、ClassFileBuilderに送信してビルド構造に統合できます。
- Java Virtual Machine仕様を参照してください:
-
4.7 属性
- シール済クラス階層グラフ:
- 導入されたバージョン:
- 24
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明この構造の属性を返します。findAttribute(AttributeMapper<T> attr) 名前で属性を検索します。findAttributes(AttributeMapper<T> attr) 名前で属性を検索します。
-
メソッドの詳細
-
attributes
-
findAttribute
default <T extends Attribute<T>> Optional<T> findAttribute(AttributeMapper<T> attr) 名前で属性を検索します。 これは、1つの構造で「最大1つのインスタンスを許可」する属性を検索するのに適しています。 1つの構造で複数のインスタンスを許可する属性を検索する場合、最初に一致するインスタンスが返されます。- APIのノート:
- これにより、簡単に属性を見つけ、別の
ClassFileBuilder(Consumer)に送信できます:MethodModel method = ... MethodBuilder mb = ... method.findAttribute(Attributes.code()).ifPresent(mb); - 型パラメータ:
T- 属性の型- パラメータ:
attr- 属性マッパー- 戻り値:
- 属性、または属性が存在しない場合は
Optional.empty()
-
findAttributes
default <T extends Attribute<T>> List<T> findAttributes(AttributeMapper<T> attr) 名前で属性を検索します。 これは、1つの構造で「複数のインスタンスを許可」する属性を検索するのに適しています。- 型パラメータ:
T- 属性の型- パラメータ:
attr- 属性マッパー- 戻り値:
- 属性、または属性が存在しない場合は空の
List
-