Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Won't Fix
-
1.9, 2.0.0, 2.1
-
None
-
None
-
n/a
-
New
Description
IndexModifer should probably provide all of the methods defined in both IndexReader and IndexWriter. Currently it does not (e.g., IndexReader.maxDoc() is not available).
One way to do this might be to have IndexReader and IndexWriter interfaces. For example:
package org.apache.lucene.index.interface;
public interface IndexReader {
...
int maxDoc();
...
}
Then the IndexReader and IndexWriter classes could implement those interfaces:
package org.apache.lucene.index;
public abstract class IndexReader implements org.apache.lucene.index.interface IndexReader {
...
public int maxDoc()
...
}
The IndexModifier could then implement both:
public class IndexModifier implements org.apache.lucene.index.interface IndexReader,
org.apache.lucene.index.interface IndexWriter {
...
}
Anywhere an IndexWriter or IndexReader was needed, one would require an object which implemented the appropriate interface:
package org.apache.lucene.index;
public class MultiReader extends IndexReader {
...
MultiReader(org.apache.lucene.index.interface.IndexReader[] subReaders) { ... }
...
}
Just a thought....