[
https://issues.apache.org/jira/browse/LUCENE-2314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844916#action_12844916
]
Simon Willnauer commented on LUCENE-2314:
-----------------------------------------
Small comment on javadoc wording.
Maybe like that:
{code}
/**
* Copies the contents of this AttributeSource to the given AttributeSource.
* The given instance has to provide all {...@link Attribute}s this instance
contains.
* The actual attribute implementations must be identical in both {...@link
AttributeSource} instances.
* Ideally both AttributeSource instances should use the same {...@link
AttributeFactory}
*/
{code}
> 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
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]