Class ReflectionInterfaceDeclaration
java.lang.Object
com.github.javaparser.symbolsolver.logic.AbstractTypeDeclaration
com.github.javaparser.symbolsolver.reflectionmodel.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 -
Constructor Summary
ConstructorsConstructorDescriptionReflectionInterfaceDeclaration(Class<?> clazz, com.github.javaparser.resolution.TypeSolver typeSolver) Constructor -
Method Summary
Modifier and TypeMethodDescriptioncom.github.javaparser.ast.AccessSpecifiercom.github.javaparser.resolution.declarations.ResolvedInterfaceDeclarationbooleancanBeAssignedTo(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration other) Optional<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> booleanList<com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration> List<com.github.javaparser.resolution.types.ResolvedReferenceType> getAncestors(boolean acceptIncompleteList) List<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration> Set<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration> com.github.javaparser.resolution.declarations.ResolvedFieldDeclarationList<com.github.javaparser.resolution.types.ResolvedReferenceType> getName()List<com.github.javaparser.resolution.declarations.ResolvedTypeParameterDeclaration> com.github.javaparser.resolution.types.ResolvedTypegetUsage(com.github.javaparser.ast.Node node) booleanhasDirectlyAnnotation(String canonicalName) booleaninthashCode()Set<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> booleanisAssignableBy(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration other) Public methodsbooleanisAssignableBy(com.github.javaparser.resolution.types.ResolvedType type) booleanbooleancom.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) toString()Methods inherited from class AbstractTypeDeclaration
getAllMethods, isFunctionalInterface, isRecordTypeMethods inherited from interface com.github.javaparser.resolution.declarations.AssociableToAST
toAst, toAstMethods inherited from interface com.github.javaparser.resolution.declarations.ResolvedDeclaration
asEnumConstant, asField, asMethod, asParameter, asTypePattern, hasName, isArrayLength, isEnumConstant, isField, isMethod, isParameter, isTypePattern, isVariableMethods inherited from interface com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration
getAllInterfacesExtendedMethods 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, isReferenceTypeMethods inherited from interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
asAnnotation, asClass, asEnum, asRecord, asType, asTypeParameter, getId, getInternalType, hasInternalType, isAnnotation, isAnonymousClass, isClass, isEnum, isRecord, isTypeMethods inherited from interface com.github.javaparser.resolution.declarations.ResolvedTypeParametrizable
isGeneric
-
Constructor Details
-
ReflectionInterfaceDeclaration
public ReflectionInterfaceDeclaration(Class<?> clazz, com.github.javaparser.resolution.TypeSolver typeSolver) Constructor
-
-
Method Details
-
isAssignableBy
public boolean isAssignableBy(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration other) Public methods- Specified by:
isAssignableByin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
getPackageName
- Specified by:
getPackageNamein interfacecom.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
-
getClassName
- Specified by:
getClassNamein interfacecom.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
-
getQualifiedName
- Specified by:
getQualifiedNamein interfacecom.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:
solveMethodin interfacecom.github.javaparser.resolution.logic.MethodResolutionCapability
-
toString
-
getUsage
public com.github.javaparser.resolution.types.ResolvedType getUsage(com.github.javaparser.ast.Node node) -
equals
-
hashCode
-
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:
solveMethodAsUsagein interfaceMethodUsageResolutionCapability- Parameters:
name- the method name to resolveparameterTypes- the actual parameter types at the call siteinvokationContext- the context where the method is invokedtypeParameterValues- 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:
canBeAssignedToin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
isAssignableBy
public boolean isAssignableBy(com.github.javaparser.resolution.types.ResolvedType type) - Specified by:
isAssignableByin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
isTypeParameter
public boolean isTypeParameter()- Specified by:
isTypeParameterin interfacecom.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
-
getField
- Specified by:
getFieldin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
getAllFields
- Specified by:
getAllFieldsin interfacecom.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:
solveSymbolin interfaceSymbolResolutionCapability- 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:
getAncestorsin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
getDeclaredMethods
public Set<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration> getDeclaredMethods()- Specified by:
getDeclaredMethodsin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
hasField
- Specified by:
hasFieldin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
getName
- Specified by:
getNamein interfacecom.github.javaparser.resolution.declarations.ResolvedDeclaration
-
isInterface
public boolean isInterface()- Specified by:
isInterfacein interfacecom.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration- Specified by:
isInterfacein interfacecom.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
-
getInterfacesExtended
- Specified by:
getInterfacesExtendedin interfacecom.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration
-
containerType
public Optional<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> containerType()- Specified by:
containerTypein interfacecom.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
-
internalTypes
public Set<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> internalTypes()- Specified by:
internalTypesin interfacecom.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
-
asInterface
public com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclaration asInterface()- Specified by:
asInterfacein interfacecom.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
-
hasDirectlyAnnotation
- Specified by:
hasDirectlyAnnotationin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
getTypeParameters
public List<com.github.javaparser.resolution.declarations.ResolvedTypeParameterDeclaration> getTypeParameters()- Specified by:
getTypeParametersin interfacecom.github.javaparser.resolution.declarations.ResolvedTypeParametrizable
-
accessSpecifier
public com.github.javaparser.ast.AccessSpecifier accessSpecifier()- Specified by:
accessSpecifierin interfacecom.github.javaparser.resolution.declarations.HasAccessSpecifier
-
getConstructors
public List<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration> getConstructors()- Specified by:
getConstructorsin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-