[ 
https://issues.apache.org/jira/browse/LUCENE-1835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745855#action_12745855
 ] 

Michael Busch commented on LUCENE-1835:
---------------------------------------

Good catch!

> Signature changes in AttributeSource for better Generics support of 
> AddAttribute/getAttribute
> ---------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-1835
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1835
>             Project: Lucene - Java
>          Issue Type: Task
>          Components: Analysis
>    Affects Versions: 2.9
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 2.9
>
>         Attachments: LUCENE-1835.patch
>
>
> The last update of Attribute API using AttributeImpl as implementation oif 
> Attributes changed the API a little bit. This change leads to the fact, that 
> in Java 1.5 using generics we are no longer able to add Attributes without 
> casting. addAttribute and getAttribute should return the Attribute interface 
> because the implementation of the attribute is not interesting to the caller. 
> By that in 1.5 using generics, one could add a TermAttribute without casting 
> using:
> {code}
> TermAttribute termAtt = addAttribute(TermAttribute.class);
> {code}
> The signature to do this is:
> {code}
> public K addAttribute(Class<K extends Attribute>)
> {code}
> The attached patch applies the mentioned change to the signature (without 
> generic, only returning Attribute). No other code cahnges are needed, as 
> current code always casts the result to the requested interface. I also added 
> the 1.5 method signature for all these methods to the javadocs.
> All tests pass.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to