org.jboss.solder.reflection.annotated
Class Annotateds

java.lang.Object
  extended by org.jboss.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 © 2008-2011 Seam Framework. All Rights Reserved.