Hoss, thanks for kicking-in with your "design purist" hat on :) about your proposal, "The best short term approach I can think of for addressing LUCENE-1219 in 2.4: 1) list the new methods in a new interface that extends Fieldable (ByteArrayReuseFieldable or something) 2) add the new methods to AbstractField so that it implements ByteArrayReuseFieldable 3) put an instanceof check for ByteArrayReuseFieldable in DocumentsWriter. It's not pretty, but it's backwards compatible."
For short term, It is not even necessary to add new interface, we can, just like allready done in LUCENE-1219 add these methods to AbstractField and check instanceof for AbstractField. Keeps "not pretty" level a bit lower. But, If I read Mike's proposal well, he wanted to go one step further (preserving backwards compatibility, of course!). Something along the lines: 1. Deprecate Fieldable 2. Fold Field and AbstractField into one class, e.g. Field implements Fieldable 3. replace all usages of Fildable in Lucene core with Field 4. deprecate, the following methods in Document: add(Fieldable field) Fieldable getFieldable(String name) Fieldable[] getFieldables(String name) these are the only way for Fieldable to enter/leave Lucene core! 5. Add equivalents that use Field imo, this could work smoothly and would be good intermediate step for some real refactoring that would later (3.0) separate reading/Iindexing uses. ___________________________________________________________ Rise to the challenge for Sport Relief with Yahoo! For Good http://uk.promotions.yahoo.com/forgood/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]