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

Shai Erera commented on LUCENE-6958:
------------------------------------

Looks good Uwe. Do you think we should delegate all the variants now to a 
private e.g. {{withTokenizer(TokenizerFactory)}} which will also set components 
added, call applyResourceLoader etc.?

Also, should you mention it in CHANGES?

Otherwise, +1 to commit and thanks for taking care of this so quickly! :)

> Improve CustomAnalyzer to also allow to specify factory directly (for 
> compile-time safety)
> ------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-6958
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6958
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/analysis
>    Affects Versions: 5.4
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 5.5
>
>         Attachments: LUCENE-6958.patch
>
>
> Currently CustomAnalyzer only allows to specify the SPI names of factories. 
> As the fluent builder pattern is mostly used inside Java code, it is better 
> for type safety to optionally also specify the factory class directly (using 
> compile-time safe patterns like 
> {{.withTokenizer(WhitespaceTokenizerFactory.class)}}). With the string names, 
> you get the error only at runtime. Of course this does not help with wrong, 
> spelled parameter names, but it also has the side effect that you can click 
> on the class name in your code to get javadocs with the parameter names.
> This issue will add this functionality and update the docs/example.
> Thanks to [~shaie] for suggesting this!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to