And BTW, now that I look at DIS.EMPTY, I think it can be improved by defining it like this:
public static final DocIdSet EMPTY_DOCIDSET = new SortedVIntList(new int[0]) { public DocIdSetIterator iterator() { return EmptyDocIdSetIterator.getInstance(); } }; Instead of having its iterator() always creating a new instance, it can return EmptyDISI's single instance. I can open an issue, but I think this can be committed quite trivially by one of the committers. Shai On Mon, Jul 27, 2009 at 1:26 PM, Uwe Schindler <u...@thetaphi.de> wrote: > Right, and you can simply get an iterator from it. > > ----- > Uwe Schindler > H.-H.-Meier-Allee 63, D-28213 Bremen > http://www.thetaphi.de > eMail: u...@thetaphi.de > > > -----Original Message----- > > From: Robert Muir [mailto:rcm...@gmail.com] > > Sent: Monday, July 27, 2009 12:24 PM > > To: java-dev@lucene.apache.org > > Subject: Re: svn commit: r798091 - > > > /lucene/java/trunk/src/java/org/apache/lucene/search/EmptyDocIdSetIterator > > .java > > > > here it is: DocIdSet.EMPTY_DOCIDSET > > > > /** An empty {...@code DocIdSet} instance for easy use (this is currently > > * implemented using a {...@link SortedVIntList}). */ > > > > On Mon, Jul 27, 2009 at 6:18 AM, Uwe Schindler<u...@thetaphi.de> wrote: > > > Why do we need this class? There is already a static final empty > > iterator > > > available in DocIdSetIterator.EMPTY_DOCIDSET_ITERATOR (or something > like > > > that name)? > > > > > > ----- > > > Uwe Schindler > > > H.-H.-Meier-Allee 63, D-28213 Bremen > > > http://www.thetaphi.de > > > eMail: u...@thetaphi.de > > > > > >> From: mikemcc...@apache.org [mailto:mikemcc...@apache.org] > > >> Sent: Monday, July 27, 2009 12:03 PM > > >> To: java-comm...@lucene.apache.org > > >> Subject: svn commit: r798091 - > > >> > > > /lucene/java/trunk/src/java/org/apache/lucene/search/EmptyDocIdSetIterator > > >> .java > > >> > > >> Author: mikemccand > > >> Date: Mon Jul 27 10:02:34 2009 > > >> New Revision: 798091 > > >> > > >> URL: http://svn.apache.org/viewvc?rev=798091&view=rev > > >> Log: > > >> LUCENE-1754: add EmptyDocIdSetIterator > > >> > > >> Added: > > >> > > >> > > > lucene/java/trunk/src/java/org/apache/lucene/search/EmptyDocIdSetIterator. > > >> java (with props) > > >> > > >> Added: > > >> > > > lucene/java/trunk/src/java/org/apache/lucene/search/EmptyDocIdSetIterator. > > >> java > > >> URL: > > >> > > > http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/ > > >> search/EmptyDocIdSetIterator.java?rev=798091&view=auto > > >> > > > ========================================================================== > > >> ==== > > >> --- > > >> > > > lucene/java/trunk/src/java/org/apache/lucene/search/EmptyDocIdSetIterator. > > >> java (added) > > >> +++ > > >> > > > lucene/java/trunk/src/java/org/apache/lucene/search/EmptyDocIdSetIterator. > > >> java Mon Jul 27 10:02:34 2009 > > >> @@ -0,0 +1,42 @@ > > >> +package org.apache.lucene.search; > > >> + > > >> +/** > > >> + * Licensed to the Apache Software Foundation (ASF) under one or more > > >> + * contributor license agreements. See the NOTICE file distributed > > with > > >> + * this work for additional information regarding copyright > ownership. > > >> + * The ASF licenses this file to You under the Apache License, > Version > > >> 2.0 > > >> + * (the "License"); you may not use this file except in compliance > > with > > >> + * the License. You may obtain a copy of the License at > > >> + * > > >> + * http://www.apache.org/licenses/LICENSE-2.0 > > >> + * > > >> + * Unless required by applicable law or agreed to in writing, > software > > >> + * distributed under the License is distributed on an "AS IS" BASIS, > > >> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > > >> implied. > > >> + * See the License for the specific language governing permissions > and > > >> + * limitations under the License. > > >> + */ > > >> + > > >> +import java.io.IOException; > > >> + > > >> +/** > > >> + * An empty implementation for {...@link DocIdSetIterator}. This can be > > used > > >> by > > >> + * classes which receive a null {...@link DocIdSet} from > > >> + * {...@link Filter#getDocIdSet(org.apache.lucene.index.IndexReader)}. > > >> + */ > > >> +public final class EmptyDocIdSetIterator extends DocIdSetIterator { > > >> + > > >> + private static final DocIdSetIterator instance = new > > >> EmptyDocIdSetIterator(); > > >> + > > >> + public static DocIdSetIterator getInstance() { return instance; } > > >> + > > >> + // to prevent instantiation > > >> + private EmptyDocIdSetIterator() { } > > >> + > > >> + public int advance(int target) throws IOException { return > > >> NO_MORE_DOCS; } > > >> + > > >> + public int docID() { return NO_MORE_DOCS; } > > >> + > > >> + public int nextDoc() throws IOException { return NO_MORE_DOCS; } > > >> + > > >> +} > > >> > > >> Propchange: > > >> > > > lucene/java/trunk/src/java/org/apache/lucene/search/EmptyDocIdSetIterator. > > >> java > > >> > ----------------------------------------------------------------------- > > --- > > >> ---- > > >> svn:eol-style = native > > >> > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org > > > For additional commands, e-mail: java-dev-h...@lucene.apache.org > > > > > > > > > > > > > > -- > > Robert Muir > > rcm...@gmail.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org > > For additional commands, e-mail: java-dev-h...@lucene.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-dev-h...@lucene.apache.org > >