Package com.sun.mirror.util

# Class DeclarationVisitors

java.lang.Object
com.sun.mirror.util.DeclarationVisitors

public class DeclarationVisitors extends Object
Utilities to create specialized `DeclarationVisitor` instances.

Since:
  1.5

## Field Summary

Fields
Modifier and Type
Field
Description
`static final DeclarationVisitor`
`NO_OP`
A visitor that has no side effects and keeps no state.

## Method Summary

Modifier and Type
Method
Description
`static DeclarationVisitor`
`getDeclarationScanner(DeclarationVisitor pre, DeclarationVisitor post)`
Return a `DeclarationVisitor` that will scan the declaration structure, visiting declarations contained in another declaration.
`static DeclarationVisitor`
`getSourceOrderDeclarationScanner(DeclarationVisitor pre, DeclarationVisitor post)`
Return a `DeclarationVisitor` that will scan the declaration structure, visiting declarations contained in another declaration in source code order.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### NO_OP

public static final DeclarationVisitor NO_OP
A visitor that has no side effects and keeps no state.

## Method Details

### getDeclarationScanner

public static DeclarationVisitor getDeclarationScanner(DeclarationVisitor pre, DeclarationVisitor post)
Return a `DeclarationVisitor` that will scan the declaration structure, visiting declarations contained in another declaration. For example, when visiting a class, the fields, methods, constructors, etc. of the class are also visited. The order in which the contained declarations are scanned is not specified.

The `pre` and `post` `DeclarationVisitor` parameters specify, respectively, the processing the scanner will do before or after visiting the contained declarations. If only one of pre and post processing is needed, use `DeclarationVisitors.NO_OP` for the other parameter.

Parameters:
  `pre` - visitor representing processing to do before visiting contained declarations.
  `post` - visitor representing processing to do after visiting contained declarations.

### getSourceOrderDeclarationScanner

public static DeclarationVisitor getSourceOrderDeclarationScanner(DeclarationVisitor pre, DeclarationVisitor post)
Return a `DeclarationVisitor` that will scan the declaration structure, visiting declarations contained in another declaration in source code order. For example, when visiting a class, the fields, methods, constructors, etc. of the class are also visited. The order in which the contained declarations are visited is as close to source code order as possible; declaration mirrors created from class files instead of source code will not have source position information.

The `pre` and `post` `DeclarationVisitor` parameters specify, respectively, the processing the scanner will do before or after visiting the contained declarations. If only one of pre and post processing is needed, use `DeclarationVisitors.NO_OP` for the other parameter.

Parameters:
  `pre` - visitor representing processing to do before visiting contained declarations.
  `post` - visitor representing processing to do after visiting contained declarations.