Class ReflectionInterfaceDeclaration

  • All Implemented Interfaces:
    com.github.javaparser.resolution.declarations.AssociableToAST, com.github.javaparser.resolution.declarations.HasAccessSpecifier, com.github.javaparser.resolution.declarations.ResolvedDeclaration, com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration, com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration, com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration, com.github.javaparser.resolution.declarations.ResolvedTypeParametrizable, com.github.javaparser.resolution.logic.MethodResolutionCapability, MethodUsageResolutionCapability, SymbolResolutionCapability

    public class ReflectionInterfaceDeclaration
    extends AbstractTypeDeclaration
    implements com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration, com.github.javaparser.resolution.logic.MethodResolutionCapability, MethodUsageResolutionCapability, SymbolResolutionCapability
    Author:
    Federico Tomassetti
    • Field Summary

      • Fields inherited from interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration

        breadthFirstFunc, depthFirstFunc, JAVA_IO_SERIALIZABLE, JAVA_LANG_COMPARABLE, JAVA_LANG_ENUM, JAVA_LANG_OBJECT, JAVA_LANG_RECORD
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      com.github.javaparser.ast.AccessSpecifier accessSpecifier()  
      com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration asInterface()  
      boolean canBeAssignedTo​(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration other)  
      Optional<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> containerType()  
      boolean equals​(Object o)  
      List<com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration> getAllFields()  
      List<com.github.javaparser.resolution.types.ResolvedReferenceType> getAncestors​(boolean acceptIncompleteList)  
      String getClassName()  
      List<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration> getConstructors()  
      Set<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration> getDeclaredMethods()  
      com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration getField​(String name)  
      List<com.github.javaparser.resolution.types.ResolvedReferenceType> getInterfacesExtended()  
      String getName()  
      String getPackageName()  
      String getQualifiedName()  
      List<com.github.javaparser.resolution.declarations.ResolvedTypeParameterDeclaration> getTypeParameters()  
      com.github.javaparser.resolution.types.ResolvedType getUsage​(com.github.javaparser.ast.Node node)  
      boolean hasDirectlyAnnotation​(String canonicalName)  
      boolean hasField​(String name)  
      int hashCode()  
      Set<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> internalTypes()  
      boolean isAssignableBy​(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration other)  
      boolean isAssignableBy​(com.github.javaparser.resolution.types.ResolvedType type)  
      boolean isInterface()  
      boolean isTypeParameter()  
      com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration> solveMethod​(String name, List<com.github.javaparser.resolution.types.ResolvedType> parameterTypes, boolean staticOnly)
      Deprecated.
      Optional<com.github.javaparser.resolution.MethodUsage> solveMethodAsUsage​(String name, List<com.github.javaparser.resolution.types.ResolvedType> parameterTypes, com.github.javaparser.resolution.Context invokationContext, List<com.github.javaparser.resolution.types.ResolvedType> typeParameterValues)
      Solves method usage with proper generic type inference, including support for varargs methods.
      com.github.javaparser.resolution.model.SymbolReference<? extends com.github.javaparser.resolution.declarations.ResolvedValueDeclaration> solveSymbol​(String name, com.github.javaparser.resolution.TypeSolver typeSolver)  
      String toString()  
      • Methods inherited from interface com.github.javaparser.resolution.declarations.AssociableToAST

        toAst, toAst
      • Methods inherited from interface com.github.javaparser.resolution.declarations.ResolvedDeclaration

        asEnumConstant, asField, asMethod, asParameter, asTypePattern, hasName, isEnumConstant, isField, isMethod, isParameter, isTypePattern, isVariable
      • Methods inherited from interface com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration

        getAllInterfacesExtended
      • Methods inherited from interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration

        asReferenceType, findTypeParameter, getAllAncestors, getAllAncestors, getAllMethods, getAllNonStaticFields, getAllStaticFields, getAncestors, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredFields, getVisibleField, getVisibleFields, hasAnnotation, hasVisibleField, isFunctionalInterface, isInheritedAnnotation, isJavaLangEnum, isJavaLangObject, isJavaLangRecord, isReferenceType
      • Methods inherited from interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration

        asAnnotation, asClass, asEnum, asRecord, asType, asTypeParameter, getId, getInternalType, hasInternalType, isAnnotation, isAnonymousClass, isClass, isEnum, isRecord, isType
      • Methods inherited from interface com.github.javaparser.resolution.declarations.ResolvedTypeParametrizable

        isGeneric
    • Constructor Detail

      • ReflectionInterfaceDeclaration

        public ReflectionInterfaceDeclaration​(Class<?> clazz,
                                              com.github.javaparser.resolution.TypeSolver typeSolver)
    • Method Detail

      • isAssignableBy

        public boolean isAssignableBy​(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration other)
        Specified by:
        isAssignableBy in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
      • getPackageName

        public String getPackageName()
        Specified by:
        getPackageName in interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
      • getClassName

        public String getClassName()
        Specified by:
        getClassName in interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
      • getQualifiedName

        public String getQualifiedName()
        Specified by:
        getQualifiedName in interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
      • solveMethod

        @Deprecated
        public com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration> solveMethod​(String name,
                                                                                                                                                           List<com.github.javaparser.resolution.types.ResolvedType> parameterTypes,
                                                                                                                                                           boolean staticOnly)
        Deprecated.
        Specified by:
        solveMethod in interface com.github.javaparser.resolution.logic.MethodResolutionCapability
      • getUsage

        public com.github.javaparser.resolution.types.ResolvedType getUsage​(com.github.javaparser.ast.Node node)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • solveMethodAsUsage

        public Optional<com.github.javaparser.resolution.MethodUsage> solveMethodAsUsage​(String name,
                                                                                         List<com.github.javaparser.resolution.types.ResolvedType> parameterTypes,
                                                                                         com.github.javaparser.resolution.Context invokationContext,
                                                                                         List<com.github.javaparser.resolution.types.ResolvedType> typeParameterValues)
        Solves method usage with proper generic type inference, including support for varargs methods. This method first resolves the basic method signature, then performs generic type inference based on the actual parameter types provided at the call site.
        Specified by:
        solveMethodAsUsage in interface MethodUsageResolutionCapability
        Parameters:
        name - the method name to resolve
        parameterTypes - the actual parameter types at the call site
        invokationContext - the context where the method is invoked
        typeParameterValues - explicit type parameter values (if any)
        Returns:
        an Optional containing the resolved MethodUsage with inferred types, or empty if resolution fails
      • canBeAssignedTo

        public boolean canBeAssignedTo​(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration other)
        Specified by:
        canBeAssignedTo in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
      • isAssignableBy

        public boolean isAssignableBy​(com.github.javaparser.resolution.types.ResolvedType type)
        Specified by:
        isAssignableBy in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
      • isTypeParameter

        public boolean isTypeParameter()
        Specified by:
        isTypeParameter in interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
      • getField

        public com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration getField​(String name)
        Specified by:
        getField in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
      • getAllFields

        public List<com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration> getAllFields()
        Specified by:
        getAllFields in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
      • solveSymbol

        public com.github.javaparser.resolution.model.SymbolReference<? extends com.github.javaparser.resolution.declarations.ResolvedValueDeclaration> solveSymbol​(String name,
                                                                                                                                                                    com.github.javaparser.resolution.TypeSolver typeSolver)
        Specified by:
        solveSymbol in interface SymbolResolutionCapability
        Parameters:
        name - Field / symbol name.
        typeSolver - Symbol solver to resolve type usage.
        Returns:
        Symbol reference of the resolved value.
      • getAncestors

        public List<com.github.javaparser.resolution.types.ResolvedReferenceType> getAncestors​(boolean acceptIncompleteList)
        Specified by:
        getAncestors in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
      • getDeclaredMethods

        public Set<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration> getDeclaredMethods()
        Specified by:
        getDeclaredMethods in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
      • hasField

        public boolean hasField​(String name)
        Specified by:
        hasField in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
      • getName

        public String getName()
        Specified by:
        getName in interface com.github.javaparser.resolution.declarations.ResolvedDeclaration
      • isInterface

        public boolean isInterface()
        Specified by:
        isInterface in interface com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration
        Specified by:
        isInterface in interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
      • getInterfacesExtended

        public List<com.github.javaparser.resolution.types.ResolvedReferenceType> getInterfacesExtended()
        Specified by:
        getInterfacesExtended in interface com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration
      • containerType

        public Optional<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> containerType()
        Specified by:
        containerType in interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
      • internalTypes

        public Set<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> internalTypes()
        Specified by:
        internalTypes in interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
      • asInterface

        public com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration asInterface()
        Specified by:
        asInterface in interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
      • hasDirectlyAnnotation

        public boolean hasDirectlyAnnotation​(String canonicalName)
        Specified by:
        hasDirectlyAnnotation in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
      • getTypeParameters

        public List<com.github.javaparser.resolution.declarations.ResolvedTypeParameterDeclaration> getTypeParameters()
        Specified by:
        getTypeParameters in interface com.github.javaparser.resolution.declarations.ResolvedTypeParametrizable
      • accessSpecifier

        public com.github.javaparser.ast.AccessSpecifier accessSpecifier()
        Specified by:
        accessSpecifier in interface com.github.javaparser.resolution.declarations.HasAccessSpecifier
      • getConstructors

        public List<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration> getConstructors()
        Specified by:
        getConstructors in interface com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration