Interface ResolvedReferenceTypeDeclaration
-
- All Superinterfaces:
ResolvedDeclaration
,ResolvedTypeDeclaration
,ResolvedTypeParametrizable
- All Known Subinterfaces:
ResolvedAnnotationDeclaration
,ResolvedClassDeclaration
,ResolvedEnumDeclaration
,ResolvedInterfaceDeclaration
public interface ResolvedReferenceTypeDeclaration extends ResolvedTypeDeclaration, ResolvedTypeParametrizable
- Author:
- Federico Tomassetti
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default ResolvedReferenceTypeDeclaration
asReferenceType()
default boolean
canBeAssignedTo(ResolvedReferenceTypeDeclaration other)
Can we assign instances of the type defined by this declaration to variables having the type defined by the given type?default Optional<ResolvedTypeParameterDeclaration>
findTypeParameter(String name)
Find the closest TypeParameterDeclaration with the given name.default List<ResolvedReferenceType>
getAllAncestors()
The list of all the ancestors of the current declaration, direct and indirect.List<ResolvedFieldDeclaration>
getAllFields()
Return a list of all fields, either declared in this declaration or inherited.Set<MethodUsage>
getAllMethods()
Return a list of all the methods declared of this type declaration, either declared or inherited.default List<ResolvedFieldDeclaration>
getAllNonStaticFields()
Return a list of all the non static fields, either declared or inherited.default List<ResolvedFieldDeclaration>
getAllStaticFields()
Return a list of all the static fields, either declared or inherited.default List<ResolvedReferenceType>
getAncestors()
Resolves the types of all direct ancestors (i.e., the directly extended class and the directly implemented interfaces) and returns the list of ancestors as a list of resolved reference types.List<ResolvedReferenceType>
getAncestors(boolean acceptIncompleteList)
Resolves the types of all direct ancestors (i.e., the directly extended class and the directly implemented interfaces) and returns the list of ancestors as a list of resolved reference types.List<ResolvedConstructorDeclaration>
getConstructors()
default List<ResolvedFieldDeclaration>
getDeclaredFields()
Return a list of all the fields declared in this type.Set<ResolvedMethodDeclaration>
getDeclaredMethods()
Return a list of all the methods declared in this type declaration.default ResolvedFieldDeclaration
getField(String name)
Note that the type of the field should be expressed using the type variables of this particular type.default ResolvedFieldDeclaration
getVisibleField(String name)
Consider only field or inherited field which is not private.default List<ResolvedFieldDeclaration>
getVisibleFields()
Return a list of all fields declared and the inherited ones which are not private.default boolean
hasAnnotation(String qualifiedName)
Has the type at least one annotation declared or inherited having the specified qualified name?boolean
hasDirectlyAnnotation(String qualifiedName)
Has the type at least one annotation declared having the specified qualified name?default boolean
hasField(String name)
Has this type a field with the given name?default boolean
hasVisibleField(String name)
Either a declared field or inherited field which is not private.boolean
isAssignableBy(ResolvedReferenceTypeDeclaration other)
Can we assign instances of the given type to variables having the type defined by this declaration?boolean
isAssignableBy(ResolvedType type)
Can we assign instances of the given type to variables having the type defined by this declaration?boolean
isFunctionalInterface()
This means that the type has a functional method.-
Methods inherited from interface com.github.javaparser.resolution.declarations.ResolvedDeclaration
asEnumConstant, asField, asMethod, asParameter, getName, hasName, isEnumConstant, isField, isMethod, isParameter, isVariable
-
Methods inherited from interface com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration
asClass, asEnum, asInterface, asType, asTypeParameter, containerType, getClassName, getId, getInternalType, getPackageName, getQualifiedName, hasInternalType, internalTypes, isAnonymousClass, isClass, isEnum, isInterface, isType, isTypeParameter
-
Methods inherited from interface com.github.javaparser.resolution.declarations.ResolvedTypeParametrizable
getTypeParameters, isGeneric
-
-
-
-
Method Detail
-
asReferenceType
default ResolvedReferenceTypeDeclaration asReferenceType()
- Specified by:
asReferenceType
in interfaceResolvedTypeDeclaration
-
getAncestors
default List<ResolvedReferenceType> getAncestors()
Resolves the types of all direct ancestors (i.e., the directly extended class and the directly implemented interfaces) and returns the list of ancestors as a list of resolved reference types.In case any ancestor cannot be resolved, an
UnsolvedSymbolException
is thrown. In order to obtain a list of only the resolvable direct ancestors, usegetAncestors(boolean)
and pass the valuetrue
.Note that an ancestor can be parametrized types with values specified. For example:
class A implements Comparable<String> {}
In this case the ancestor is Comparable<String>
- Returns:
- The list of resolved ancestors.
- Throws:
UnsolvedSymbolException
- if some ancestor could not be resolved.
-
getAncestors
List<ResolvedReferenceType> getAncestors(boolean acceptIncompleteList)
Resolves the types of all direct ancestors (i.e., the directly extended class and the directly implemented interfaces) and returns the list of ancestors as a list of resolved reference types.If
acceptIncompleteList
isfalse
, then anUnsolvedSymbolException
is thrown if any ancestor cannot be resolved. Otherwise, a list of only the resolvable direct ancestors is returned.- Parameters:
acceptIncompleteList
- When set tofalse
, this method throws anUnsolvedSymbolException
if one or more ancestor could not be resolved. When set totrue
, this method does not throw anUnsolvedSymbolException
, but the list of returned ancestors may be incomplete in case one or more ancestor could not be resolved.- Returns:
- The list of resolved ancestors.
- Throws:
UnsolvedSymbolException
- if some ancestor could not be resolved andacceptIncompleteList
is set tofalse
.
-
getAllAncestors
default List<ResolvedReferenceType> getAllAncestors()
The list of all the ancestors of the current declaration, direct and indirect. This list does not contains duplicates with the exacting same type parameters.
-
getField
default ResolvedFieldDeclaration getField(String name)
Note that the type of the field should be expressed using the type variables of this particular type. Consider for example:class Foo
{ E field; } class Bar extends Foo
{ } When calling getField("field") on Foo I should get a FieldDeclaration with type E, while calling it on Bar I should get a FieldDeclaration with type String.
-
getVisibleField
default ResolvedFieldDeclaration getVisibleField(String name)
Consider only field or inherited field which is not private.
-
hasField
default boolean hasField(String name)
Has this type a field with the given name?
-
hasVisibleField
default boolean hasVisibleField(String name)
Either a declared field or inherited field which is not private.
-
getAllFields
List<ResolvedFieldDeclaration> getAllFields()
Return a list of all fields, either declared in this declaration or inherited.
-
getVisibleFields
default List<ResolvedFieldDeclaration> getVisibleFields()
Return a list of all fields declared and the inherited ones which are not private.
-
getAllNonStaticFields
default List<ResolvedFieldDeclaration> getAllNonStaticFields()
Return a list of all the non static fields, either declared or inherited.
-
getAllStaticFields
default List<ResolvedFieldDeclaration> getAllStaticFields()
Return a list of all the static fields, either declared or inherited.
-
getDeclaredFields
default List<ResolvedFieldDeclaration> getDeclaredFields()
Return a list of all the fields declared in this type.
-
getDeclaredMethods
Set<ResolvedMethodDeclaration> getDeclaredMethods()
Return a list of all the methods declared in this type declaration.
-
getAllMethods
Set<MethodUsage> getAllMethods()
Return a list of all the methods declared of this type declaration, either declared or inherited. Note that it should not include overridden methods.
-
isAssignableBy
boolean isAssignableBy(ResolvedType type)
Can we assign instances of the given type to variables having the type defined by this declaration?
-
canBeAssignedTo
default boolean canBeAssignedTo(ResolvedReferenceTypeDeclaration other)
Can we assign instances of the type defined by this declaration to variables having the type defined by the given type?
-
isAssignableBy
boolean isAssignableBy(ResolvedReferenceTypeDeclaration other)
Can we assign instances of the given type to variables having the type defined by this declaration?
-
hasDirectlyAnnotation
boolean hasDirectlyAnnotation(String qualifiedName)
Has the type at least one annotation declared having the specified qualified name?
-
hasAnnotation
default boolean hasAnnotation(String qualifiedName)
Has the type at least one annotation declared or inherited having the specified qualified name?
-
isFunctionalInterface
boolean isFunctionalInterface()
This means that the type has a functional method. Conceptually, a functional interface has exactly one abstract method. Typically these classes has the FunctionInterface annotation but this is not mandatory.
-
findTypeParameter
default Optional<ResolvedTypeParameterDeclaration> findTypeParameter(String name)
Description copied from interface:ResolvedTypeParametrizable
Find the closest TypeParameterDeclaration with the given name. It first look on this element itself and then on the containers.- Specified by:
findTypeParameter
in interfaceResolvedTypeParametrizable
-
getConstructors
List<ResolvedConstructorDeclaration> getConstructors()
-
-