Interface ElementUtils
-
-
Method Summary
Static Methods Modifier and Type Method Description static <E extends javax.lang.model.element.Element>
java.util.List<E>filterElements(java.util.List<E> elements, java.util.function.Predicate<? super E>... elementPredicates)Filters the provided list ofElementobjects based on the given array ofPredicateconditions.static booleanhasModifiers(javax.lang.model.element.Element member, javax.lang.model.element.Modifier... modifiers)Checks whether the specifiedElementhas all of the specifiedModifiers.static booleanisClass(javax.lang.model.element.ElementKind kind)Returnstrueif this is a kind of class: eitherCLASSorENUMorRECORD.static booleanisDeclaredType(javax.lang.model.element.ElementKind kind){@return {@code true} if this is a kind of declared type, a {@linkplain ElementKind#isClass() class} or an {@linkplain ElementKind#isInterface() interface}, and {@code false} otherwise}static booleanisExecutable(javax.lang.model.element.ElementKind kind)Returnstrueif this is a kind of executable: eitherMETHODorCONSTRUCTORorSTATIC_INITorINSTANCE_INIT.static booleanisField(javax.lang.model.element.ElementKind kind)Returnstrueif this is a kind of field: eitherFIELDorENUM_CONSTANT.static booleanisInitializer(javax.lang.model.element.ElementKind kind)Returnstrueif this is a kind of initializer: eitherSTATIC_INITorINSTANCE_INIT.static booleanisInterface(javax.lang.model.element.ElementKind kind)Returnstrueif this is a kind of interface: eitherINTERFACEorANNOTATION_TYPE.static booleanisMember(javax.lang.model.element.ElementKind kind){@return {@code true} if this is a kind of {@linkplain ElementKind#isField() field} or {@linkplain ElementKind#isExecutable() executable}, and {@code false} otherwise}static booleanisPublicNonStatic(javax.lang.model.element.Element member)Checks whether the specifiedElementis public and non-static.static booleanisVariable(javax.lang.model.element.ElementKind kind)Returnstrueif this is a kind of variable: includingENUM_CONSTANT,FIELD,PARAMETER,LOCAL_VARIABLE,EXCEPTION_PARAMETER,RESOURCE_VARIABLE, andBINDING_VARIABLE.static booleanmatchesElementKind(javax.lang.model.element.Element member, javax.lang.model.element.ElementKind kind)Checks whether the specifiedElementhas the specifiedElementKind.static booleanmatchesElementType(javax.lang.model.element.ElementKind elementKind, java.lang.annotation.ElementType elementType)Checks whether the specifiedElementKindmatches the specifiedElementType.static booleanmatchesElementType(javax.lang.model.element.ElementKind elementKind, java.lang.annotation.ElementType... elementTypes)Checks whether the specifiedElementKindmatches any of the specifiedElementTypes.static booleanmatchesElementType(javax.lang.model.element.Element element, java.lang.annotation.ElementType... elementTypes)Checks whether the specifiedElementmatches the specifiedElementType.static booleanmatchParameterTypeNames(java.util.List<? extends javax.lang.model.element.VariableElement> parameters, java.lang.CharSequence... parameterTypeNames)Checks whether the parameter types of the given list ofVariableElementparameters match the specified type names.static booleanmatchParameterTypes(java.util.List<? extends javax.lang.model.element.VariableElement> parameters, java.lang.reflect.Type... parameterTypes)Checks whether the parameter types of the given list ofVariableElementparameters match the specifiedtypes.static booleanmatchParameterTypes(javax.lang.model.element.ExecutableElement executableElement, java.lang.reflect.Type... parameterTypes)Checks whether the parameter types of the givenExecutableElementmatch the specifiedtypes.static javax.lang.model.element.ElementKindtoElementKind(java.lang.annotation.ElementType elementType)Converts the specifiedElementTypeto an equivalentElementKind.
-
-
-
Method Detail
-
isClass
static boolean isClass(javax.lang.model.element.ElementKind kind)
Returnstrueif this is a kind of class: eitherCLASSorENUMorRECORD.- Returns:
trueif this is a kind of class- See Also:
ElementKind.isClass()
-
isInterface
static boolean isInterface(javax.lang.model.element.ElementKind kind)
Returnstrueif this is a kind of interface: eitherINTERFACEorANNOTATION_TYPE.- Parameters:
kind-ElementKind- Returns:
trueif this is a kind of interface
-
isDeclaredType
static boolean isDeclaredType(javax.lang.model.element.ElementKind kind)
{@return {@code true} if this is a kind of declared type, a {@linkplain ElementKind#isClass() class} or an {@linkplain ElementKind#isInterface() interface}, and {@code false} otherwise}- Parameters:
kind-ElementKind- See Also:
ElementKind#isDeclaredType()
-
isField
static boolean isField(javax.lang.model.element.ElementKind kind)
Returnstrueif this is a kind of field: eitherFIELDorENUM_CONSTANT.- Parameters:
kind-ElementKind- Returns:
trueif this is a kind of field- See Also:
ElementKind.isField()
-
isExecutable
static boolean isExecutable(javax.lang.model.element.ElementKind kind)
Returnstrueif this is a kind of executable: eitherMETHODorCONSTRUCTORorSTATIC_INITorINSTANCE_INIT.- Parameters:
kind-ElementKind- Returns:
trueif this is a kind of executable- See Also:
ElementKind#isExecutable()
-
isMember
static boolean isMember(javax.lang.model.element.ElementKind kind)
{@return {@code true} if this is a kind of {@linkplain ElementKind#isField() field} or {@linkplain ElementKind#isExecutable() executable}, and {@code false} otherwise}- Parameters:
kind-ElementKindkind-- Returns:
- See Also:
ElementKind#isDeclaredType()
-
isInitializer
static boolean isInitializer(javax.lang.model.element.ElementKind kind)
Returnstrueif this is a kind of initializer: eitherSTATIC_INITorINSTANCE_INIT.- Parameters:
kind-ElementKind- Returns:
trueif this is a kind of initializer- See Also:
ElementKind#isInitializer()
-
isVariable
static boolean isVariable(javax.lang.model.element.ElementKind kind)
Returnstrueif this is a kind of variable: includingENUM_CONSTANT,FIELD,PARAMETER,LOCAL_VARIABLE,EXCEPTION_PARAMETER,RESOURCE_VARIABLE, andBINDING_VARIABLE.- Parameters:
kind-ElementKind- Returns:
trueif this is a kind of variable- See Also:
ElementKind#isVariable()
-
toElementKind
static javax.lang.model.element.ElementKind toElementKind(java.lang.annotation.ElementType elementType)
Converts the specifiedElementTypeto an equivalentElementKind.If the provided
elementTypeisnull, this method returnsElementKind.OTHER.- Parameters:
elementType- the ElementType to convert, may benull- Returns:
- the corresponding ElementKind, never
null
-
matchesElementType
static boolean matchesElementType(javax.lang.model.element.ElementKind elementKind, java.lang.annotation.ElementType elementType)Checks whether the specifiedElementKindmatches the specifiedElementType.- Parameters:
elementKind- the ElementKind to checkelementType- the ElementType to check- Returns:
trueif the ElementKind matches the ElementType,falseotherwise
-
matchesElementType
static boolean matchesElementType(javax.lang.model.element.ElementKind elementKind, java.lang.annotation.ElementType... elementTypes)Checks whether the specifiedElementKindmatches any of the specifiedElementTypes.- Parameters:
elementKind- the ElementKind to checkelementTypes- the ElementTypes to check- Returns:
trueif the ElementKind matches any of the ElementTypes,falseotherwise
-
matchesElementType
static boolean matchesElementType(javax.lang.model.element.Element element, java.lang.annotation.ElementType... elementTypes)Checks whether the specifiedElementmatches the specifiedElementType.- Parameters:
element- theElementto checkelementTypes- the ElementTypes to check- Returns:
trueif the Element matches the ElementType,falseotherwise
-
matchesElementKind
static boolean matchesElementKind(javax.lang.model.element.Element member, javax.lang.model.element.ElementKind kind)Checks whether the specifiedElementhas the specifiedElementKind.- Parameters:
member- theElementto check, may benullkind- theElementKindto match, may benull- Returns:
trueif the element is not null and its kind matches the specified kind; otherwise,false
-
isPublicNonStatic
static boolean isPublicNonStatic(javax.lang.model.element.Element member)
Checks whether the specifiedElementis public and non-static.- Parameters:
member- theElementto check, may benull- Returns:
trueif the element is public and not static; otherwise,false
-
hasModifiers
static boolean hasModifiers(javax.lang.model.element.Element member, javax.lang.model.element.Modifier... modifiers)Checks whether the specifiedElementhas all of the specifiedModifiers.- Parameters:
member- theElementto check, may benullmodifiers- the array ofModifiers to match, may benull- Returns:
trueif the element is not null and contains all specified modifiers; otherwise,false
-
filterElements
static <E extends javax.lang.model.element.Element> java.util.List<E> filterElements(java.util.List<E> elements, java.util.function.Predicate<? super E>... elementPredicates)Filters the provided list ofElementobjects based on the given array ofPredicateconditions.If the input list of elements is empty or the array of predicates is null, an empty list is returned.
- Type Parameters:
E- The type of the elements, which must be a subclass ofElement- Parameters:
elements- The list of elements to be filtered, may benullelementPredicates- An array of predicates used to filter the elements, may benull- Returns:
- A filtered list of elements that match all the provided predicates. Returns an empty list if no elements match, or if the input list or predicate array is invalid.
-
matchParameterTypes
static boolean matchParameterTypes(javax.lang.model.element.ExecutableElement executableElement, java.lang.reflect.Type... parameterTypes)Checks whether the parameter types of the givenExecutableElementmatch the specifiedtypes.If either the executable element or the parameter types array is
null, this method returnsfalse. Otherwise, it compares the fully qualified type names of the parameters.- Parameters:
executableElement- the executable element whose parameters are to be checked, may benullparameterTypes- the expected parameter types, may benull- Returns:
trueif the parameter types match;falseotherwise
-
matchParameterTypes
static boolean matchParameterTypes(java.util.List<? extends javax.lang.model.element.VariableElement> parameters, java.lang.reflect.Type... parameterTypes)Checks whether the parameter types of the given list ofVariableElementparameters match the specifiedtypes.If either the parameters list or the parameter types array is
null, this method returnsfalse. Otherwise, it compares the fully qualified type names of the parameters.- Parameters:
parameters- the list of variable elements representing the parameters, may benullparameterTypes- the expected parameter types, may benull- Returns:
trueif the parameter types match;falseotherwise
-
matchParameterTypeNames
static boolean matchParameterTypeNames(java.util.List<? extends javax.lang.model.element.VariableElement> parameters, java.lang.CharSequence... parameterTypeNames)Checks whether the parameter types of the given list ofVariableElementparameters match the specified type names.If either the parameters list or the parameter type names array is
null, this method returnsfalse. It also returnsfalseif the sizes of the two arrays do not match. Otherwise, it compares each parameter's type with the corresponding type name usingTypeUtils.isSameType(Element, CharSequence).- Parameters:
parameters- the list of variable elements representing the parameters, may benullparameterTypeNames- the expected fully qualified type names of the parameters, may benull- Returns:
trueif all parameter types match their corresponding type names;falseotherwise
-
-