Class Annotateds


  • public class Annotateds
    extends Object

    Utilities for working with Annotateds.

    Includes utilities to check the equality of and create unique id's for Annotated instances.

    Author:
    Stuart Douglas <stuart@baileyroberts.com.au>
    • Method Detail

      • createTypeId

        public static <X> String createTypeId​(javax.enterprise.inject.spi.AnnotatedType<X> annotatedType)
        Generates a deterministic signature for an AnnotatedType. Two AnnotatedTypes that have the same annotations and underlying type will generate the same signature.

        This can be used to create a unique bean id for a passivation capable bean that is added directly through the SPI.

        Parameters:
        annotatedType - The type to generate a signature for
        Returns:
        A string representation of the annotated type
      • createTypeId

        public static <X> String createTypeId​(Class<X> clazz,
                                              Collection<Annotation> annotations,
                                              Collection<javax.enterprise.inject.spi.AnnotatedMethod<? super X>> methods,
                                              Collection<javax.enterprise.inject.spi.AnnotatedField<? super X>> fields,
                                              Collection<javax.enterprise.inject.spi.AnnotatedConstructor<X>> constructors)
        Generates a unique signature for a concrete class. Annotations are not read directly from the class, but are read from the annotations, methods, fields and constructors arguments
        Parameters:
        clazz - The java class tyoe
        annotations - Annotations present on the java class
        methods - The AnnotatedMethods to include in the signature
        fields - The AnnotatedFields to include in the signature
        constructors - The AnnotatedConstructors to include in the signature
        Returns:
        A string representation of the type
      • createFieldId

        public static <X> String createFieldId​(javax.enterprise.inject.spi.AnnotatedField<X> field)
        Generates a deterministic signature for an AnnotatedField. Two AnnotatedFields that have the same annotations and underlying field will generate the same signature.
      • createFieldId

        public static <X> String createFieldId​(Field field,
                                               Collection<Annotation> annotations)
        Creates a deterministic signature for a Field.
        Parameters:
        field - The field to generate the signature for
        annotations - The annotations to include in the signature
      • createCallableId

        public static <X> String createCallableId​(javax.enterprise.inject.spi.AnnotatedCallable<X> method)
        Generates a deterministic signature for an AnnotatedCallable. Two AnnotatedCallables that have the same annotations and underlying callable will generate the same signature.
      • createParameterListId

        public static <X> String createParameterListId​(List<javax.enterprise.inject.spi.AnnotatedParameter<X>> parameters)
        Generates a unique string representation of a list of AnnotatedParameters.
      • createParameterId

        public static <X> String createParameterId​(javax.enterprise.inject.spi.AnnotatedParameter<X> annotatedParameter)
        Creates a string representation of an AnnotatedParameter.
      • createParameterId

        public static <X> String createParameterId​(Type type,
                                                   Set<Annotation> annotations)
        Creates a string representation of a given type and set of annotations.