インタフェース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
-