[ https://issues.apache.org/jira/browse/LUCENE-2315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844870#action_12844870 ]
Uwe Schindler commented on LUCENE-2315: --------------------------------------- bq. How can AttributeSource be final? This was just a comment about the class, but its not possible because it is extended by TokenStreams or similar classes - but the implementation of methods should not be alterable. So *all* methods should be final, at least all methods that access/modify the private maps. A correct plan for "own implementations of AttributeSource" would be to create an abstract AttributeSource base class that defines the behaviour and all impls in the current AttributeSource are final. Because there may be other implementations that work without maps or have a hardcoded number of attributes with optimized implementations. > AttributeSource's methods for accessing attributes should be final, else its > easy to corrupt the internal states > ---------------------------------------------------------------------------------------------------------------- > > Key: LUCENE-2315 > URL: https://issues.apache.org/jira/browse/LUCENE-2315 > Project: Lucene - Java > Issue Type: Bug > Affects Versions: 2.9, 2.9.1, 2.9.2, 3.0, 3.0.1 > Reporter: Uwe Schindler > Priority: Minor > Fix For: 3.1 > > > The methods that operate and modify the internal maps of AttributeSource > should be final, which is a backwards break. But anybody that overrides such > methods simply creates a buggy AS either case. > I want to makeall impls final (in general the class should be final at all, > but it is made for extension in TokenStream). So its important that the > implementations are final! -- 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