[cdi-dev] [JBoss JIRA] (CDI-525) Default names should maybe follow the inferring rules from the JavaBean spec

Martin Kouba (JIRA) issues at jboss.org
Tue Mar 8 06:03:00 EST 2016

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

Martin Kouba commented on CDI-525:

Yep, the {{BeanELResolver}} is also using {{java.beans.Introspector}} and follows JavaBeans spec. On the other hand, the default name of a bean is not a property and we would also break backward compatibility.

> Default names should maybe follow the inferring rules from the JavaBean spec
> ----------------------------------------------------------------------------
>                 Key: CDI-525
>                 URL: https://issues.jboss.org/browse/CDI-525
>             Project: CDI Specification Issues
>          Issue Type: Clarification
>    Affects Versions: 1.2.Final
>            Reporter: Martin Kouba
> *3.1.5. Default bean name for a managed bean*:
> {quote}
> The default name for a managed bean is the unqualified class name of the bean class, after converting the first character to lower case.
> {quote}
> As a result, the default name for a bean class {{URLMatcher}} should be {{uRLMatcher}}. On the other hand the JavaBean spec is using different rules when inferring property names, *8.8 Capitalization of inferred names*:
> {quote}
> However to support the occasional use of all upper-case names, we check if the first two characters of the name are both upper case and if so leave it alone.
> {quote}
> I.e. the property name for getter {{getURLMatcher()}} woud be {{URLMatcher}}.
> Note that there is no TCK test for this and so implementations may differ (issue is already filed: CDITCK-473). Weld is using {{java.beans.Introspector.decapitalize()}} and so it follows the JavaBean spec even now. I'm not sure about OpenWebBeans.

This message was sent by Atlassian JIRA

More information about the cdi-dev mailing list