org.jboss.seam.solder.reflection.annotated
Class Annotateds

java.lang.Object
  extended by org.jboss.seam.solder.reflection.annotated.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

Method Summary
static boolean compareAnnotatedCallable(javax.enterprise.inject.spi.AnnotatedCallable<?> m1, javax.enterprise.inject.spi.AnnotatedCallable<?> m2)
           Compare AnnotatedCallables for equality.
static boolean compareAnnotatedField(javax.enterprise.inject.spi.AnnotatedField<?> f1, javax.enterprise.inject.spi.AnnotatedField<?> f2)
           Compares AnnotatedFields for equality.
static boolean compareAnnotatedTypes(javax.enterprise.inject.spi.AnnotatedType<?> t1, javax.enterprise.inject.spi.AnnotatedType<?> t2)
           Compares two AnnotatedTypes for equality.
static
<X> String
createCallableId(javax.enterprise.inject.spi.AnnotatedCallable<X> method)
          Generates a deterministic signature for an AnnotatedCallable.
static
<X> String
createConstructorId(Constructor<X> constructor, Set<Annotation> annotations, List<javax.enterprise.inject.spi.AnnotatedParameter<X>> parameters)
          Creates a deterministic signature for a Constructor.
static
<X> String
createFieldId(javax.enterprise.inject.spi.AnnotatedField<X> field)
          Generates a deterministic signature for an AnnotatedField.
static
<X> String
createFieldId(Field field, Collection<Annotation> annotations)
          Creates a deterministic signature for a Field.
static
<X> String
createMethodId(Method method, Set<Annotation> annotations, List<javax.enterprise.inject.spi.AnnotatedParameter<X>> parameters)
          Creates a deterministic signature for a Method.
static
<X> String
createParameterId(javax.enterprise.inject.spi.AnnotatedParameter<X> annotatedParameter)
          Creates a string representation of an AnnotatedParameter.
static
<X> String
createParameterId(Type type, Set<Annotation> annotations)
          Creates a string representation of a given type and set of annotations.
static
<X> String
createParameterListId(List<javax.enterprise.inject.spi.AnnotatedParameter<X>> parameters)
          Generates a unique string representation of a list of AnnotatedParameters.
static
<X> String
createTypeId(javax.enterprise.inject.spi.AnnotatedType<X> annotatedType)
          Generates a deterministic signature for an AnnotatedType.
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.


createMethodId

public static <X> String createMethodId(Method method,
                                        Set<Annotation> annotations,
                                        List<javax.enterprise.inject.spi.AnnotatedParameter<X>> parameters)
Creates a deterministic signature for a Method.

Parameters:
method - The method to generate the signature for
annotations - The annotations to include in the signature
parameters - The AnnotatedParameters to include in the signature

createConstructorId

public static <X> String createConstructorId(Constructor<X> constructor,
                                             Set<Annotation> annotations,
                                             List<javax.enterprise.inject.spi.AnnotatedParameter<X>> parameters)
Creates a deterministic signature for a Constructor.

Parameters:
constructor - The constructor to generate the signature for
annotations - The annotations to include in the signature
parameters - The AnnotatedParameters to include in the 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.


compareAnnotatedField

public static boolean compareAnnotatedField(javax.enterprise.inject.spi.AnnotatedField<?> f1,
                                            javax.enterprise.inject.spi.AnnotatedField<?> f2)

Compares AnnotatedFields for equality.

Two AnnotatedFields are considered equal if they have the same underlying field and annotations.


compareAnnotatedCallable

public static boolean compareAnnotatedCallable(javax.enterprise.inject.spi.AnnotatedCallable<?> m1,
                                               javax.enterprise.inject.spi.AnnotatedCallable<?> m2)

Compare AnnotatedCallables for equality.

Two AnnotatedCallables are considered equal if they have the same underlying callable and annotations.


compareAnnotatedTypes

public static boolean compareAnnotatedTypes(javax.enterprise.inject.spi.AnnotatedType<?> t1,
                                            javax.enterprise.inject.spi.AnnotatedType<?> t2)

Compares two AnnotatedTypes for equality.

Two AnnotatedTypes are considered equal if they have the same underlying type and annotations, and all members have the same annotations.



Copyright © 2011 Seam Framework. All Rights Reserved.