Add reset(AttributeSource) method to AttributeSource ----------------------------------------------------
Key: LUCENE-1842 URL: https://issues.apache.org/jira/browse/LUCENE-1842 Project: Lucene - Java Issue Type: Wish Components: Analysis Reporter: Tim Smith Fix For: 2.9 Originally proposed in LUCENE-1826 Proposing the addition of the following method to AttributeSource {code} public void reset(AttributeSource input) { if (input == null) { throw new IllegalArgumentException("input AttributeSource must not be null"); } this.attributes = input.attributes; this.attributeImpls = input.attributeImpls; this.factory = input.factory; } {code} Impacts: * requires all TokenStreams/TokenFIlters/etc to call addAttribute() in their reset() method, not in their constructor * requires making AttributeSource.attributes and AttributeSource.attributesImpl non-final Advantages: Allows creating only a single actual AttributeSource per thread that can then be used for indexing with a multitude of TokenStream/Tokenizer combinations (allowing utmost reuse of TokenStream/Tokenizer instances) this results in only a single "attributes"/"attributesImpl" map being required per thread addAttribute() calls will almost always return right away (will only be "initialized" once per thread) -- 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