Class ElementScannerPreview<R,P>
java.lang.Object
javax.lang.model.util.AbstractElementVisitor6<R,P>
javax.lang.model.util.ElementScanner6<R,P>
javax.lang.model.util.ElementScanner7<R,P>
javax.lang.model.util.ElementScanner8<R,P>
javax.lang.model.util.ElementScanner9<R,P>
javax.lang.model.util.ElementScanner14<R,P>
javax.lang.model.util.ElementScannerPreview<R,P>
- Type Parameters:
R
- the return type of this visitor's methods. UseVoid
for visitors that do not need to return results.P
- the type of the additional parameter to this visitor's methods. UseVoid
for visitors that do not need an additional parameter.
- All Implemented Interfaces:
ElementVisitor<R,
P>
@SupportedSourceVersion(RELEASE_23)
public class ElementScannerPreview<R,P>
extends ElementScanner14<R,P>
ElementScannerPreview
is a reflective preview API of the Java platform.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
A scanning visitor of program elements with default behavior
appropriate for a preview source version.
The
visitXyz
methods in this class scan their
component elements by calling scan
on their enclosed elements, parameters, etc., as indicated in the individual method
specifications. A subclass can control the order elements are
visited by overriding the visitXyz
methods.
Note that clients of a scanner may get the desired behavior by
invoking v.scan(e, p)
rather than v.visit(e, p)
on
the root objects of interest.
When a subclass overrides a visitXyz
method, the
new method can cause the enclosed elements to be scanned in the
default way by calling super.visitXyz
. In this
fashion, the concrete visitor can control the ordering of traversal
over the component elements with respect to the additional
processing; for example, consistently calling
super.visitXyz
at the start of the overridden
methods will yield a preorder traversal, etc. If the component
elements should be traversed in some other order, instead of
calling super.visitXyz
, an overriding visit method
should call scan
with the elements in the desired order.
- API Note:
- Methods in this class may be overridden subject to their general contract.
- Since:
- 23
- See Also:
-
Field Summary
Fields declared in class javax.lang.model.util.ElementScanner6
DEFAULT_VALUE
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Constructor for concrete subclasses; usesnull
for the default value.protected
ElementScannerPreview
(R defaultValue) Constructor for concrete subclasses; uses the argument for the default value. -
Method Summary
Methods declared in class javax.lang.model.util.ElementScanner14
visitExecutable, visitRecordComponent, visitType
Methods declared in class javax.lang.model.util.ElementScanner9
visitModule
Methods declared in class javax.lang.model.util.ElementScanner7
visitVariable
Methods declared in class javax.lang.model.util.ElementScanner6
scan, scan, scan, visitPackage, visitTypeParameter
Methods declared in class javax.lang.model.util.AbstractElementVisitor6
visit, visit, visitUnknown
-
Constructor Details
-
ElementScannerPreview
protected ElementScannerPreview()Constructor for concrete subclasses; usesnull
for the default value. -
ElementScannerPreview
Constructor for concrete subclasses; uses the argument for the default value.- Parameters:
defaultValue
- the default value
-