Class AnnotatedTypes


  • public class AnnotatedTypes
    extends Object
    Class that can take an AnnotatedType and return a unique string representation of that type
    Author:
    Stuart Douglas
    • Field Detail

      • TRIM_META_ANNOTATIONS

        public static final Set<Class<? extends Annotation>> TRIM_META_ANNOTATIONS
    • Method Detail

      • createTypeId

        public static <X> String createTypeId​(jakarta.enterprise.inject.spi.AnnotatedType<X> annotatedType)
        Generates a unique signature for an annotated type. Members without annotations are omitted to reduce the length of the signature
        Type Parameters:
        X -
        Parameters:
        annotatedType -
        Returns:
        hash of a signature for a concrete annotated type
      • createFieldId

        public static <X> String createFieldId​(jakarta.enterprise.inject.spi.AnnotatedField<X> field)
      • createCallableId

        public static <X> String createCallableId​(jakarta.enterprise.inject.spi.AnnotatedCallable<X> method)
      • createMethodId

        public static <X> String createMethodId​(Method method,
                                                Set<Annotation> annotations,
                                                List<jakarta.enterprise.inject.spi.AnnotatedParameter<X>> parameters)
      • createConstructorId

        public static <X> String createConstructorId​(Constructor<X> constructor,
                                                     Set<Annotation> annotations,
                                                     List<jakarta.enterprise.inject.spi.AnnotatedParameter<X>> parameters)
      • createParameterListId

        public static <X> String createParameterListId​(List<jakarta.enterprise.inject.spi.AnnotatedParameter<X>> parameters)
      • createParameterId

        public static <X> String createParameterId​(jakarta.enterprise.inject.spi.AnnotatedParameter<X> annotatedParameter)
      • compareAnnotatedParameters

        public static boolean compareAnnotatedParameters​(jakarta.enterprise.inject.spi.AnnotatedParameter<?> p1,
                                                         jakarta.enterprise.inject.spi.AnnotatedParameter<?> p2)
        Compares two annotated parameters and returns true if they are equal
      • compareAnnotatedField

        public static boolean compareAnnotatedField​(jakarta.enterprise.inject.spi.AnnotatedField<?> f1,
                                                    jakarta.enterprise.inject.spi.AnnotatedField<?> f2)
      • compareAnnotatedCallable

        public static boolean compareAnnotatedCallable​(jakarta.enterprise.inject.spi.AnnotatedCallable<?> m1,
                                                       jakarta.enterprise.inject.spi.AnnotatedCallable<?> m2)
      • compareAnnotatedTypes

        public static boolean compareAnnotatedTypes​(jakarta.enterprise.inject.spi.AnnotatedType<?> t1,
                                                    jakarta.enterprise.inject.spi.AnnotatedType<?> t2)
        Compares two annotated types and returns true if they are the same
      • getDeclaringAnnotatedType

        public static jakarta.enterprise.inject.spi.AnnotatedType<?> getDeclaringAnnotatedType​(jakarta.enterprise.inject.spi.Annotated annotated)
        Returns the declaring AnnotatedType of a given annotated. For an AnnotatedMember, AnnotatedMember.getDeclaringType() is returned. For an AnnotatedParameter, the declaring annotated type of AnnotatedParameter.getDeclaringCallable() is returned. If the parameter is an AnnotatedType, it is returned.
        Throws:
        IllegalArgumentException - if the annotated parameter is an unknown non-standard Annotated subclass.
      • hasBeanDefiningAnnotation

        public static boolean hasBeanDefiningAnnotation​(jakarta.enterprise.inject.spi.AnnotatedType<?> annotatedType)
      • hasBeanDefiningAnnotation

        public static boolean hasBeanDefiningAnnotation​(jakarta.enterprise.inject.spi.AnnotatedType<?> annotatedType,
                                                        Set<Class<? extends Annotation>> metaAnnotations)