Class ClassRefTypeSignature


  • public class ClassRefTypeSignature
    extends ClassRefOrTypeVariableSignature
    A class reference type signature (called "ClassTypeSignature" in the classfile documentation).
    • Constructor Detail

      • ClassRefTypeSignature

        public ClassRefTypeSignature​(String className,
                                     List<TypeArgument> typeArguments,
                                     List<String> suffixes,
                                     List<List<TypeArgument>> suffixTypeArguments)
        Parameters:
        className - The class name.
        typeArguments - The class type arguments.
        suffixes - The class suffixes (for inner classes)
        suffixTypeArguments - The suffix type arguments.
    • Method Detail

      • getClassName

        public String getClassName()
        Get the name of the base class.
        Returns:
        The base class name.
      • getTypeArguments

        public List<TypeArgument> getTypeArguments()
        Get any type arguments of the base class.
        Returns:
        The type arguments for the base class.
      • getSuffixes

        public List<String> getSuffixes()
        Get any suffixes of the class (typically nested inner class names).
        Returns:
        The class suffixes (for inner classes).
      • getSuffixTypeArguments

        public List<List<TypeArgument>> getSuffixTypeArguments()
        Get any type arguments for any suffixes of the class, one list per suffix.
        Returns:
        The type arguments for the inner classes, one list per suffix.
      • instantiate

        public Class<?> instantiate​(ScanResult scanResult)
        Instantiate class ref. Type arguments are ignored.
        Specified by:
        instantiate in class TypeSignature
        Parameters:
        scanResult - The scan result.
        Returns:
        The instantiation of the type signature as a Class<?>.
      • getClassNameAndSuffixesWithoutTypeArguments

        public String getClassNameAndSuffixesWithoutTypeArguments()
        Get the name of the class, along with any suffixes (suffixes are for inner class nesting, and are separated by '$'). The returned name is stripped of any type arguments, e.g. "xyz.Cls<String>$InnerCls<Integer>" is returned as "xyz.Cls$InnerCls".
        Returns:
        The name of the class and suffixes without type arguments.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object