[cdi-dev] [JBoss JIRA] (CDI-455) Allow building of TypeLiteral's with dynamic types

Sven Linstaedt (JIRA) issues at jboss.org
Mon Oct 10 05:13:00 EDT 2016

    [ https://issues.jboss.org/browse/CDI-455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13304735#comment-13304735 ] 

Sven Linstaedt commented on CDI-455:

At first I thought of {{TypeLiteral}} being a workaround for java's type erasure. Extending it by being able to create one from an unknown {{java.lang.Class}} with given type parameters or even {{java.lang.reflect.Type}} just to be able to "reuse" all existing APIs that accept a {{TypeLiteral}} smells like a dirty trick, as the benefit of type safety as mentioned before is lost.

Secondly we have a bunch of existing APIs, that are meant to be used with "dynamic types". Most of them reside in {{javax.enterprise.inject.spi.BeanManager}} like {{BeanManager#getBeans}} or {{BeanManager#getReference}}. If there is a need to extend something, it may be more suitable to extend these APIs.

> Allow building of TypeLiteral's with dynamic types
> --------------------------------------------------
>                 Key: CDI-455
>                 URL: https://issues.jboss.org/browse/CDI-455
>             Project: CDI Specification Issues
>          Issue Type: Feature Request
>            Reporter: Lucas Ventura Carro
> It could be useful the building of {{TypeLiteral}}'s, but using dynamic types. This way, the types can be indicated at runtime and not in compile. This functionality is "doable" as it is done at [Guice|https://github.com/google/guice], a similar injection framework, and as [this post shows|http://luisfsgoncalves.wordpress.com/2010/09/08/generic-bindings-with-guice/].

This message was sent by Atlassian JIRA

More information about the cdi-dev mailing list