/*
* 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.
*/
package com.floragunn.searchguard.configuration;
import java.io.IOException;
import java.util.Collections;
import java.util.Iterator;
import org.apache.lucene.index.BinaryDocValues;
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.FieldInfos;
import org.apache.lucene.index.Fields;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.NumericDocValues;
import org.apache.lucene.index.PostingsEnum;
import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.SortedNumericDocValues;
import org.apache.lucene.index.SortedSetDocValues;
import org.apache.lucene.index.StoredFieldVisitor;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.index.TermsEnum.SeekStatus;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import com.google.common.collect.Iterators;
class EmptyReader extends LeafReader {
public EmptyReader() {
super();
tryIncRef();
}
@Override
public void addCoreClosedListener(final CoreClosedListener listener) {
}
@Override
public void removeCoreClosedListener(final CoreClosedListener listener) {
}
@Override
public Fields fields() throws IOException {
return new Fields() {
@Override
public Iterator<String> iterator() {
return Collections.<String> emptyList().iterator();
}
@Override
public Terms terms(final String field) throws IOException {
return new Terms() {
@Override
public long size() throws IOException {
// TODO Auto-generated method stub
return 0;
}
@Override
public TermsEnum iterator() throws IOException {
// TODO Auto-generated method stub
return new TermsEnum() {
@Override
public BytesRef next() throws IOException {
// TODO Auto-generated method stub
return null;
}
@Override
public long totalTermFreq() throws IOException {
// TODO Auto-generated method stub
return 0;
}
@Override
public BytesRef term() throws IOException {
// TODO Auto-generated method stub
return null;
}
@Override
public void seekExact(long ord) throws IOException {
// TODO Auto-generated method stub
}
@Override
public SeekStatus seekCeil(BytesRef text) throws IOException {
// TODO Auto-generated method stub
return null;
}
@Override
public PostingsEnum postings(PostingsEnum reuse, int flags) throws IOException {
// TODO Auto-generated method stub
return null;
}
@Override
public long ord() throws IOException {
// TODO Auto-generated method stub
return 0;
}
@Override
public int docFreq() throws IOException {
// TODO Auto-generated method stub
return 0;
}
};
}
@Override
public boolean hasPositions() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean hasPayloads() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean hasOffsets() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean hasFreqs() {
// TODO Auto-generated method stub
return false;
}
@Override
public long getSumTotalTermFreq() throws IOException {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getSumDocFreq() throws IOException {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getDocCount() throws IOException {
// TODO Auto-generated method stub
return 0;
}
};
}
@Override
public int size() {
return 0;
}
};
}
@Override
public NumericDocValues getNumericDocValues(final String field) throws IOException {
return null;
}
@Override
public BinaryDocValues getBinaryDocValues(final String field) throws IOException {
return null;
}
@Override
public SortedDocValues getSortedDocValues(final String field) throws IOException {
return null;
}
@Override
public SortedNumericDocValues getSortedNumericDocValues(final String field) throws IOException {
return null;
}
@Override
public SortedSetDocValues getSortedSetDocValues(final String field) throws IOException {
return null;
}
@Override
public Bits getDocsWithField(final String field) throws IOException {
return null;
}
@Override
public NumericDocValues getNormValues(final String field) throws IOException {
return null;
}
@Override
public FieldInfos getFieldInfos() {
return new FieldInfos(new FieldInfo[0]);
}
final Bits liveDocs = new Bits.MatchNoBits(0);
@Override
public Bits getLiveDocs() {
return liveDocs;
}
@Override
public void checkIntegrity() throws IOException {
}
@Override
public Fields getTermVectors(final int docID) throws IOException {
return null;
}
@Override
public int numDocs() {
return 0;
}
@Override
public int maxDoc() {
return 0;
}
@Override
public void document(final int docID, final StoredFieldVisitor visitor) throws IOException {
}
@Override
protected void doClose() throws IOException {
}
@Override
public boolean hasDeletions() {
return false;
}
@Override
public Object getCoreCacheKey() {
return new Object();
}
@Override
public Object getCombinedCoreAndDeletesKey() {
return new Object();
}
}