javax.lang.model.util

## Class TypeKindVisitor6<R,P>

- java.lang.Object
- - javax.lang.model.util.AbstractTypeVisitor6<R,P>
  - - javax.lang.model.util.SimpleTypeVisitor6<R,P>
    - - javax.lang.model.util.TypeKindVisitor6<R,P>

Type Parameters:
  `R` - the return type of this visitor's methods. Use `Void` for visitors that do not need to return results.
  `P` - the type of the additional parameter to this visitor's methods. Use `Void` for visitors that do not need an additional parameter.

All Implemented Interfaces:
  TypeVisitor<R,P>

    @SupportedSourceVersion(value=RELEASE_6)
    public class TypeKindVisitor6<R,P>
    extends SimpleTypeVisitor6<R,P>

A visitor of types based on their kind with default behavior appropriate for the `RELEASE_6` source version. For types `XYZ` that may have more than one kind, the `visitXYZ` methods in this class delegate to the `visitXYZKind` method corresponding to the first argument's kind. The `visitXYZKind` methods call `defaultAction`, passing their arguments to `defaultAction`'s corresponding parameters.

Methods in this class may be overridden subject to their general contract. Note that annotating methods in concrete subclasses with `@Override` will help ensure that methods are overridden as intended.

WARNING: The `TypeVisitor` 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 call the `visitUnknown` method. A new type kind 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 the new visitor is introduced, all or portions of this visitor may be deprecated.

Since:
  1.6

### Field Summary

### Fields inherited from class javax.lang.model.util.SimpleTypeVisitor6

`DEFAULT_VALUE`

### Constructor Summary

Constructors
`protected` `TypeKindVisitor6()` Constructor for concrete subclasses to call; uses `null` for the default value.
`protected` `TypeKindVisitor6(R defaultValue)` Constructor for concrete subclasses to call; uses the argument for the default value.

### Method Summary

Methods
`R` `visitNoType(NoType t, P p)` Visits a `NoType` instance, dispatching to the visit method for the specific kind of pseudo-type: `VOID`, `PACKAGE`, or `NONE`.
`R` `visitNoTypeAsNone(NoType t, P p)` Visits a `NONE` pseudo-type by calling `defaultAction`.
`R` `visitNoTypeAsPackage(NoType t, P p)` Visits a `PACKAGE` pseudo-type by calling `defaultAction`.
`R` `visitNoTypeAsVoid(NoType t, P p)` Visits a `VOID` pseudo-type by calling `defaultAction`.
`R` `visitPrimitive(PrimitiveType t, P p)` Visits a primitive type, dispatching to the visit method for the specific kind of primitive type: `BOOLEAN`, `BYTE`, etc.
`R` `visitPrimitiveAsBoolean(PrimitiveType t, P p)` Visits a `BOOLEAN` primitive type by calling `defaultAction`.
`R` `visitPrimitiveAsByte(PrimitiveType t, P p)` Visits a `BYTE` primitive type by calling `defaultAction`.
`R` `visitPrimitiveAsChar(PrimitiveType t, P p)` Visits a `CHAR` primitive type by calling `defaultAction`.
`R` `visitPrimitiveAsDouble(PrimitiveType t, P p)` Visits a `DOUBLE` primitive type by calling `defaultAction`.
`R` `visitPrimitiveAsFloat(PrimitiveType t, P p)` Visits a `FLOAT` primitive type by calling `defaultAction`.
`R` `visitPrimitiveAsInt(PrimitiveType t, P p)` Visits an `INT` primitive type by calling `defaultAction`.
`R` `visitPrimitiveAsLong(PrimitiveType t, P p)` Visits a `LONG` primitive type by calling `defaultAction`.
`R` `visitPrimitiveAsShort(PrimitiveType t, P p)` Visits a `SHORT` primitive type by calling `defaultAction`.

### Methods inherited from class javax.lang.model.util.SimpleTypeVisitor6

`defaultAction, visitArray, visitDeclared, visitError, visitExecutable, visitNull, visitTypeVariable, visitWildcard`

### Methods inherited from class javax.lang.model.util.AbstractTypeVisitor6

`visit, visit, visitUnknown`

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

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

### Constructor Detail

#### TypeKindVisitor6

    protected TypeKindVisitor6()

Constructor for concrete subclasses to call; uses `null` for the default value.

#### TypeKindVisitor6

    protected TypeKindVisitor6(R defaultValue)

Constructor for concrete subclasses to call; uses the argument for the default value.

Parameters:
  `defaultValue` - the value to assign to `SimpleTypeVisitor6.DEFAULT_VALUE`

### Method Detail

#### visitPrimitive

    public R visitPrimitive(PrimitiveType t,
                   P p)

Visits a primitive type, dispatching to the visit method for the specific kind of primitive type: `BOOLEAN`, `BYTE`, etc.

Specified by:
  `visitPrimitive` in interface `TypeVisitor<R,P>`
Overrides:
  `visitPrimitive` in class `SimpleTypeVisitor6<R,P>`
Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of the kind-specific visit method

#### visitPrimitiveAsBoolean

    public R visitPrimitiveAsBoolean(PrimitiveType t,
                            P p)

Visits a `BOOLEAN` primitive type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitPrimitiveAsByte

    public R visitPrimitiveAsByte(PrimitiveType t,
                         P p)

Visits a `BYTE` primitive type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitPrimitiveAsShort

    public R visitPrimitiveAsShort(PrimitiveType t,
                          P p)

Visits a `SHORT` primitive type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitPrimitiveAsInt

    public R visitPrimitiveAsInt(PrimitiveType t,
                        P p)

Visits an `INT` primitive type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitPrimitiveAsLong

    public R visitPrimitiveAsLong(PrimitiveType t,
                         P p)

Visits a `LONG` primitive type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitPrimitiveAsChar

    public R visitPrimitiveAsChar(PrimitiveType t,
                         P p)

Visits a `CHAR` primitive type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitPrimitiveAsFloat

    public R visitPrimitiveAsFloat(PrimitiveType t,
                          P p)

Visits a `FLOAT` primitive type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitPrimitiveAsDouble

    public R visitPrimitiveAsDouble(PrimitiveType t,
                           P p)

Visits a `DOUBLE` primitive type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitNoType

    public R visitNoType(NoType t,
                P p)

Visits a `NoType` instance, dispatching to the visit method for the specific kind of pseudo-type: `VOID`, `PACKAGE`, or `NONE`.

Specified by:
  `visitNoType` in interface `TypeVisitor<R,P>`
Overrides:
  `visitNoType` in class `SimpleTypeVisitor6<R,P>`
Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of the kind-specific visit method

#### visitNoTypeAsVoid

    public R visitNoTypeAsVoid(NoType t,
                      P p)

Visits a `VOID` pseudo-type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitNoTypeAsPackage

    public R visitNoTypeAsPackage(NoType t,
                         P p)

Visits a `PACKAGE` pseudo-type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

#### visitNoTypeAsNone

    public R visitNoTypeAsNone(NoType t,
                      P p)

Visits a `NONE` pseudo-type by calling `defaultAction`.

Parameters:
  `t` - the type to visit
  `p` - a visitor-specified parameter
Returns:
  the result of `defaultAction`

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.