Class ReflectionResolver


  • public class ReflectionResolver
    extends java.lang.Object
    Resolves reflective types. Considers IClassNameMapperProvider on the type registry if given.
    Author:
    Holger Eichelberger
    • Constructor Detail

      • ReflectionResolver

        public ReflectionResolver()
    • Method Detail

      • setTypeRegistry

        public static TypeRegistry setTypeRegistry​(TypeRegistry reg)
        Changes the type registry for resolution.
        Parameters:
        reg - the type registry (null is ignored)
        Returns:
        the registry before setting
      • getTypeRegistry

        public static TypeRegistry getTypeRegistry()
        Returns the active registry for resolution.
        Returns:
        the type registry
      • resolveType

        public static TypeDescriptor<?> resolveType​(java.lang.Class<?> cls,
                                                    java.lang.Class<?>[] generics)
        Resolves the given type to a type descriptor.
        Parameters:
        cls - the class to be resolved
        generics - the type generics (may be null if none)
        Returns:
        the resolved type descriptor
      • resolveType

        public static TypeDescriptor<?> resolveType​(java.lang.Class<?> cls,
                                                    java.lang.Class<?>[] generics,
                                                    IntHolder pos)
        Resolves the given type to a type descriptor.
        Parameters:
        cls - the class to be resolved
        generics - the type generics (may be null if none)
        pos - the actual position within the array
        Returns:
        the resolved type descriptor
      • createParameter

        private static TypeDescriptor<?>[] createParameter​(java.lang.Class<?>[] generics,
                                                           int count,
                                                           IntHolder pos)
        Creates the type parameters in a recursive way.
        Parameters:
        generics - the generics to be processed (may be null)
        count - the number of parameters to obtain from generics in a recursive way
        pos - the actual position within generics
        Returns:
        the created type