[ 
https://issues.apache.org/jira/browse/LUCENE-2314?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-2314:
----------------------------------

    Attachment: LUCENE-2314.patch

Updated javadocs. Will commit tomorrow.

> 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, LUCENE-2314.patch, 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