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
-
-
Constructor Summary
Constructors Constructor Description ReflectionInterfaceDeclaration(Class<?> clazz, com.github.javaparser.resolution.TypeSolver typeSolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description com.github.javaparser.ast.AccessSpecifieraccessSpecifier()com.github.javaparser.resolution.declarations.ResolvedInterfaceDeclarationasInterface()booleancanBeAssignedTo(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration other)Optional<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>containerType()booleanequals(Object o)List<com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration>getAllFields()List<com.github.javaparser.resolution.types.ResolvedReferenceType>getAncestors(boolean acceptIncompleteList)StringgetClassName()List<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration>getConstructors()Set<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration>getDeclaredMethods()com.github.javaparser.resolution.declarations.ResolvedFieldDeclarationgetField(String name)List<com.github.javaparser.resolution.types.ResolvedReferenceType>getInterfacesExtended()StringgetName()StringgetPackageName()StringgetQualifiedName()List<com.github.javaparser.resolution.declarations.ResolvedTypeParameterDeclaration>getTypeParameters()com.github.javaparser.resolution.types.ResolvedTypegetUsage(com.github.javaparser.ast.Node node)booleanhasDirectlyAnnotation(String canonicalName)booleanhasField(String name)inthashCode()Set<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>internalTypes()booleanisAssignableBy(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration other)booleanisAssignableBy(com.github.javaparser.resolution.types.ResolvedType type)booleanisInterface()booleanisTypeParameter()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)StringtoString()-
Methods inherited from class com.github.javaparser.symbolsolver.logic.AbstractTypeDeclaration
getAllMethods, isFunctionalInterface, isRecordType
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
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
-
-
-
-
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:
isAssignableByin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
getPackageName
public String getPackageName()
- Specified by:
getPackageNamein interfacecom.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
-
getClassName
public String getClassName()
- Specified by:
getClassNamein interfacecom.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
-
getQualifiedName
public String 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
-
getUsage
public com.github.javaparser.resolution.types.ResolvedType getUsage(com.github.javaparser.ast.Node node)
-
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
public com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration getField(String name)
- Specified by:
getFieldin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
getAllFields
public List<com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration> 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
public boolean hasField(String name)
- Specified by:
hasFieldin interfacecom.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
-
getName
public String 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
public List<com.github.javaparser.resolution.types.ResolvedReferenceType> 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
public boolean hasDirectlyAnnotation(String canonicalName)
- 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
-
-