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

Shai Erera commented on LUCENE-2314:
------------------------------------

I just thought that instead of the for loop you have now you could have written 
something like: "for (State state : this)" ... a Java 5.0 style iteration. But 
it's not critical.

> Add AttributeSource.copyTo(AttributeSource)
> -------------------------------------------
>
>                 Key: LUCENE-2314
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2314
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 3.1
>
>         Attachments: LUCENE-2314.patch
>
>
> One problem with AttributeSource at the moment is the missing "insight" into 
> AttributeSource.State. If you want to create TokenStreams that inspect 
> cpatured states, you have no chance. Making the contents of State public is a 
> bad idea, as it does not help for inspecting (its a linked list, so you have 
> to iterate).
> AttributeSource currently contains a cloneAttributes() call, which returns a 
> new AttrubuteSource with all current attributes cloned. This is the (more 
> expensive) captureState. The problem is that you cannot copy back the cloned 
> AS (which is the restoreState). To use this behaviour (by the way, 
> ShingleMatrix can use it), one can alternatively use cloneAttributes and 
> copyTo. You can easily change the cloned attributes and store them in lists 
> and copy them back. The only problem is lower performance of these calls (as 
> State is a very optimized class).
> One use case could be:
> {code}
> AttributeSource state = cloneAttributes();
> // .... do something ...
> state.getAttribute(TermAttribute.class).setTermBuffer(foobar);
> // ... more work
> state.copyTo(this);
> {code}

-- 
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