Interface CompoundElement<E extends ClassFileElement>
- Type Parameters:
E
- the element type
- All Superinterfaces:
ClassFileElement
,Iterable<E>
- All Known Subinterfaces:
ClassModel
,CodeAttribute
,CodeModel
,FieldModel
,MethodModel
public sealed interface CompoundElement<E extends ClassFileElement>
extends ClassFileElement, Iterable<E>
permits ClassModel, CodeModel, FieldModel, MethodModel (not exhaustive)
A
ClassFileElement
that has complex structure defined in terms of
other classfile elements, such as a method, field, method body, or entire
class. When encountering a CompoundElement, clients have the
option to treat the element as a single entity (e.g., an entire method)
or to traverse the contents of that element with the methods in this class
(e.g., forEach(Consumer)
, etc.)-
Method Summary
Modifier and TypeMethodDescriptionReturns anList
containing all the elements contained in this compound element.Returns aStream
containing all the elements contained in this compound element.void
Invoke the provided handler with each element contained in this compound elementiterator()
Returns anIterator
describing all the elements contained in this compound element.default String
Returns a text representation of the compound element and its contents for debugging purposes.Methods declared in interface java.lang.Iterable
spliterator
-
Method Details
-
forEach
-
iterator
-
elementStream
-
elementList
-
toDebugString
Returns a text representation of the compound element and its contents for debugging purposes. The format, structure and exact contents of the returned string are not specified and may change at any time in the future.- Returns:
- a text representation of the compound element and its contents for debugging purposes
-