[weld-issues] [JBoss JIRA] Created: (WELDX-189) Provide utility to extract type parameter from Instance

Dan Allen (JIRA) jira-events at lists.jboss.org
Fri Nov 5 15:22:02 EDT 2010


Provide utility to extract type parameter from Instance
-------------------------------------------------------

                 Key: WELDX-189
                 URL: https://jira.jboss.org/browse/WELDX-189
             Project: Weld Extensions
          Issue Type: Feature Request
    Affects Versions: 1.0.0.Beta1
            Reporter: Dan Allen
            Priority: Minor
             Fix For: 1.0.0.Beta2


When discovering injection points, a type of Instance<T> is effectively the same as discovering a type T. You don't want to create a producer method for an Instance, for instance, hence why you want to figure out what T is. Thus, it's common to want to extract the type parameter from Instance. Having a utility would be convenient.

Here's an example that collects the actual bean types (extracting from the Instance type parameter if necessary)

Set<Type> types = new HashSet<Type>();
for (InjectionPoint ip : event.getInjectionTarget().getInjectionPoints())
{
   types.add(Reflections.getActualType(ip.Type()));
}

Here's the utility:

private static Type getActualType(Type t)
{
      if (t instanceof ParameterizedType && ((ParameterizedType) t).getRawType().equals(Instance.class))
      {
         return ((ParameterizedType) t).getActualTypeArguments()[0];
      }
      return t;
}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list