Class TypeVisitor<T>

  • Type Parameters:
    T - type visiting result type.

    abstract class TypeVisitor<T>
    extends java.lang.Object
    Type visitor contract.
    • Constructor Summary

      Constructors 
      Constructor Description
      TypeVisitor()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.RuntimeException createError​(java.lang.reflect.Type type)
      Create visiting error (in case the visitor could not recognize the visit type.
      protected abstract T onClass​(java.lang.Class clazz)
      Visit class.
      protected abstract T onGenericArray​(java.lang.reflect.GenericArrayType type)
      Visit generic array type.
      protected abstract T onParameterizedType​(java.lang.reflect.ParameterizedType type)
      Visit parameterized type.
      protected abstract T onVariable​(java.lang.reflect.TypeVariable type)
      Visit type variable.
      protected abstract T onWildcard​(java.lang.reflect.WildcardType type)
      Visit wildcard type.
      T visit​(java.lang.reflect.Type type)
      Visit the type and a given parameter.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TypeVisitor

        TypeVisitor()
    • Method Detail

      • visit

        public final T visit​(java.lang.reflect.Type type)
        Visit the type and a given parameter.
        Parameters:
        type - visited type.
        Returns:
        visiting result.
      • onClass

        protected abstract T onClass​(java.lang.Class clazz)
        Visit class.
        Parameters:
        clazz - visited class.
        Returns:
        visit result.
      • onParameterizedType

        protected abstract T onParameterizedType​(java.lang.reflect.ParameterizedType type)
        Visit parameterized type.
        Parameters:
        type - visited parameterized type.
        Returns:
        visit result.
      • onGenericArray

        protected abstract T onGenericArray​(java.lang.reflect.GenericArrayType type)
        Visit generic array type.
        Parameters:
        type - visited parameterized type.
        Returns:
        visit result.
      • onVariable

        protected abstract T onVariable​(java.lang.reflect.TypeVariable type)
        Visit type variable.
        Parameters:
        type - visited parameterized type.
        Returns:
        visit result.
      • onWildcard

        protected abstract T onWildcard​(java.lang.reflect.WildcardType type)
        Visit wildcard type.
        Parameters:
        type - visited parameterized type.
        Returns:
        visit result.
      • createError

        protected java.lang.RuntimeException createError​(java.lang.reflect.Type type)
        Create visiting error (in case the visitor could not recognize the visit type.
        Parameters:
        type - visited parameterized type.
        Returns:
        visit result.