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>
  Direct Known Subclasses:
    TypeKindVisitor7

      @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
  See Also:
    `TypeKindVisitor7`

- - ### Field Summary

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

      `DEFAULT_VALUE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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, visitUnion, 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`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2019, Oracle and/or its affiliates. All rights reserved.