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
`static DeclarationVisitor` `NO_OP` A visitor that has no side effects and keeps no state.

### Method Summary

All Methods Static Methods Concrete Methods
`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 Detail

#### NO_OP

    public static final DeclarationVisitor NO_OP

A visitor that has no side effects and keeps no state.

### Method Detail

#### 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.