- 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>
- Direct Known Subclasses:
ElementScanner7
@SupportedSourceVersion(RELEASE_6) public class ElementScanner6<R,P> extends AbstractElementVisitor6<R,P>
RELEASE_6
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 be 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.
WARNING: The
ElementVisitor
interface implemented by this class may have methods added to it in the future to accommodate new, currently unknown, language structures added to future versions of the Java™ programming language. Therefore, methods whose names begin with"visit"
may be added to this class in the future; to avoid incompatibilities, classes which extend this class should not declare any instance methods with names beginning with"visit"
.When such a new visit method is added, the default implementation in this class will be to directly or indirectly call the
visitUnknown
method. A new element scanner visitor class will also be introduced to correspond to the new language level; this visitor will have different default behavior for the visit method in question. When a new visitor is introduced, portions of this visitor class may be deprecated, including its constructors. - Since:
- 1.6
- See Also:
ElementScanner7
,ElementScanner8
,ElementScanner9
,ElementScanner14
-
Field Summary
Fields Modifier and Type Field Description protected R
DEFAULT_VALUE
The specified default value. -
Constructor Summary
Constructors Modifier Constructor Description protected
ElementScanner6()
Deprecated.Release 6 is obsolete; update to a visitor for a newer release level.protected
ElementScanner6(R defaultValue)
Deprecated.Release 6 is obsolete; update to a visitor for a newer release level. -
Method Summary
Modifier and Type Method Description R
scan(Iterable<? extends Element> iterable, P p)
Iterates over the given elements and callsscan(Element, P)
on each one.R
scan(Element e)
Convenience method equivalent tov.scan(e, null)
.R
scan(Element e, P p)
Processes an element by callinge.accept(this, p)
; this method may be overridden by subclasses.R
visitExecutable(ExecutableElement e, P p)
Visits an executable element.R
visitPackage(PackageElement e, P p)
Visits a package element.R
visitType(TypeElement e, P p)
Visits a type element.R
visitTypeParameter(TypeParameterElement e, P p)
Visits a type parameter element.R
visitVariable(VariableElement e, P p)
Visits a variable element.Methods declared in class javax.lang.model.util.AbstractElementVisitor6
visit, visit, visitModule, visitRecordComponent, visitUnknown
-
Field Details
-
DEFAULT_VALUE
The specified default value.
-
-
Constructor Details
-
ElementScanner6
Deprecated.Release 6 is obsolete; update to a visitor for a newer release level.Constructor for concrete subclasses; usesnull
for the default value. -
ElementScanner6
Deprecated.Release 6 is obsolete; update to a visitor for a newer release level.Constructor for concrete subclasses; uses the argument for the default value.- Parameters:
defaultValue
- the default value
-
-
Method Details
-
scan
Iterates over the given elements and callsscan(Element, P)
on each one. Returns the result of the last call toscan
orDEFAULT_VALUE
for an empty iterable.- Parameters:
iterable
- the elements to scanp
- additional parameter- Returns:
- the scan of the last element or
DEFAULT_VALUE
if no elements
-
scan
Processes an element by callinge.accept(this, p)
; this method may be overridden by subclasses.- Parameters:
e
- the element to scanp
- a scanner-specified parameter- Returns:
- the result of visiting
e
.
-
scan
Convenience method equivalent tov.scan(e, null)
.- Parameters:
e
- the element to scan- Returns:
- the result of scanning
e
.
-
visitPackage
Visits a package element.- Implementation Requirements:
- This implementation scans the enclosed elements.
- Parameters:
e
- the element to visitp
- a visitor-specified parameter- Returns:
- the result of scanning
-
visitType
Visits a type element.- Implementation Requirements:
- This implementation scans the enclosed elements. Note that type parameters are not scanned by this implementation since type parameters are not considered to be enclosed elements of a type.
- Parameters:
e
- the element to visitp
- a visitor-specified parameter- Returns:
- the result of scanning
-
visitVariable
Visits a variable element.- Implementation Requirements:
- This implementation scans the enclosed elements, unless the
element is a
RESOURCE_VARIABLE
in which casevisitUnknown
is called. - Parameters:
e
- the element to visitp
- a visitor-specified parameter- Returns:
- the result of scanning
-
visitExecutable
Visits an executable element.- Implementation Requirements:
- This implementation scans the parameters. Note that type parameters are not scanned by this implementation.
- Parameters:
e
- the element to visitp
- a visitor-specified parameter- Returns:
- the result of scanning
-
visitTypeParameter
Visits a type parameter element.- Implementation Requirements:
- This implementation scans the enclosed elements.
- Parameters:
e
- the element to visitp
- a visitor-specified parameter- Returns:
- the result of scanning
-