You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2012/09/21 22:15:55 UTC

svn commit: r1388662 [1/2] - in /lucene/dev/trunk/lucene: ./ core/src/java/org/apache/lucene/codecs/ core/src/java/org/apache/lucene/codecs/lucene40/ core/src/java/org/apache/lucene/codecs/lucene40/values/ core/src/java/org/apache/lucene/codecs/perfield/

Author: mikemccand
Date: Fri Sep 21 20:15:53 2012
New Revision: 1388662

URL: http://svn.apache.org/viewvc?rev=1388662&view=rev
Log:
javadocs

Modified:
    lucene/dev/trunk/lucene/build.xml
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesArraySource.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsAndPositionsEnum.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsEnum.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocConsumer.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducer.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducerBase.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsBaseFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsConsumer.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermsConsumer.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40Codec.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesConsumer.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesProducer.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40LiveDocsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40NormsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsBaseFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsWriter.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/DocValuesWriterBase.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/Floats.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/Ints.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java

Modified: lucene/dev/trunk/lucene/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/build.xml?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/build.xml (original)
+++ lucene/dev/trunk/lucene/build.xml Fri Sep 21 20:15:53 2012
@@ -265,6 +265,7 @@
       <check-missing-javadocs dir="build/docs/core/org/apache/lucene/document" level="method"/>
       <check-missing-javadocs dir="build/docs/core/org/apache/lucene/search/similarities" level="method"/>
       <check-missing-javadocs dir="build/docs/core/org/apache/lucene/index" level="method"/>
+      <check-missing-javadocs dir="build/docs/core/org/apache/lucene/codecs" level="method"/>
     </sequential>
   </target>
   

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTermState.java Fri Sep 21 20:15:53 2012
@@ -36,6 +36,11 @@ public class BlockTermState extends OrdT
   /** fp into the terms dict primary file (_X.tim) that holds this term */
   public long blockFilePointer;
 
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected BlockTermState() {
+  }
+
   @Override
   public void copyFrom(TermState _other) {
     assert _other instanceof BlockTermState : "can not copy from " + _other.getClass().getName();

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java Fri Sep 21 20:15:53 2012
@@ -99,12 +99,15 @@ public class BlockTreeTermsReader extend
 
   private final TreeMap<String,FieldReader> fields = new TreeMap<String,FieldReader>();
 
-  // keeps the dirStart offset
+  /** File offset where the directory starts in the terms file. */
   protected long dirOffset;
+
+  /** File offset where the directory starts in the index file. */
   protected long indexDirOffset;
 
   private String segment;
-  
+
+  /** Sole constructor. */
   public BlockTreeTermsReader(Directory dir, FieldInfos fieldInfos, SegmentInfo info,
                               PostingsReaderBase postingsReader, IOContext ioContext,
                               String segmentSuffix, int indexDivisor)
@@ -179,6 +182,7 @@ public class BlockTreeTermsReader extend
     }
   }
 
+  /** Reads terms file header. */
   protected void readHeader(IndexInput input) throws IOException {
     CodecUtil.checkHeader(input, BlockTreeTermsWriter.TERMS_CODEC_NAME,
                           BlockTreeTermsWriter.TERMS_VERSION_START,
@@ -186,13 +190,15 @@ public class BlockTreeTermsReader extend
     dirOffset = input.readLong();    
   }
 
+  /** Reads index file header. */
   protected void readIndexHeader(IndexInput input) throws IOException {
     CodecUtil.checkHeader(input, BlockTreeTermsWriter.TERMS_INDEX_CODEC_NAME,
                           BlockTreeTermsWriter.TERMS_INDEX_VERSION_START,
                           BlockTreeTermsWriter.TERMS_INDEX_VERSION_CURRENT);
     indexDirOffset = input.readLong();    
   }
-  
+
+  /** Seek {@code input} to the directory offset. */
   protected void seekDir(IndexInput input, long dirOffset)
       throws IOException {
     input.seek(dirOffset);
@@ -251,36 +257,70 @@ public class BlockTreeTermsReader extend
    * returned by {@link FieldReader#computeStats()}.
    */
   public static class Stats {
+    /** How many nodes in the index FST. */
     public int indexNodeCount;
+
+    /** How many arcs in the index FST. */
     public int indexArcCount;
+
+    /** Byte size of the index. */
     public int indexNumBytes;
 
+    /** Total number of terms in the field. */
     public long totalTermCount;
-    public long totalTermBytes;
 
+    /** Total number of bytes (sum of term lengths) across all terms in the field. */
+    public long totalTermBytes;
 
+    /** The number of normal (non-floor) blocks in the terms file. */
     public int nonFloorBlockCount;
+
+    /** The number of floor blocks (meta-blocks larger than the
+     *  allowed {@code maxItemsPerBlock}) in the terms file. */
     public int floorBlockCount;
+    
+    /** The number of sub-blocks within the floor blocks. */
     public int floorSubBlockCount;
+
+    /** The number of "internal" blocks (that have both
+     *  terms and sub-blocks). */
     public int mixedBlockCount;
+
+    /** The number of "leaf" blocks (blocks that have only
+     *  terms). */
     public int termsOnlyBlockCount;
+
+    /** The number of "internal" blocks that do not contain
+     *  terms (have only sub-blocks). */
     public int subBlocksOnlyBlockCount;
+
+    /** Total number of blocks. */
     public int totalBlockCount;
 
+    /** Number of blocks at each prefix depth. */
     public int[] blockCountByPrefixLen = new int[10];
     private int startBlockCount;
     private int endBlockCount;
+
+    /** Total number of bytes used to store term suffixes. */
     public long totalBlockSuffixBytes;
+
+    /** Total number of bytes used to store term stats (not
+     *  including what the {@link PostingsBaseFormat}
+     *  stores. */
     public long totalBlockStatsBytes;
 
-    // Postings impl plus the other few vInts stored in
-    // the frame:
+    /** Total bytes stored by the {@link PostingsBaseFormat},
+     *  plus the other few vInts stored in the frame. */
     public long totalBlockOtherBytes;
 
+    /** Segment name. */
     public final String segment;
+
+    /** Field name. */
     public final String field;
 
-    public Stats(String segment, String field) {
+    Stats(String segment, String field) {
       this.segment = segment;
       this.field = field;
     }
@@ -386,6 +426,7 @@ public class BlockTreeTermsReader extend
   final Outputs<BytesRef> fstOutputs = ByteSequenceOutputs.getSingleton();
   final BytesRef NO_OUTPUT = fstOutputs.getNoOutput();
 
+  /** BlockTree's implementation of {@link Terms}. */
   public final class FieldReader extends Terms {
     final long numTerms;
     final FieldInfo fieldInfo;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java Fri Sep 21 20:15:53 2012
@@ -83,11 +83,18 @@ import org.apache.lucene.util.fst.Util;
 
 public class BlockTreeTermsWriter extends FieldsConsumer {
 
+  /** Suggested default value for the {@code
+   *  minItemsInBlock} parameter to {@link
+   *  #BlockTreeTermsWriter(SegmentWriteState,PostingsWriterBase,int,int)}. */
   public final static int DEFAULT_MIN_BLOCK_SIZE = 25;
+
+  /** Suggested default value for the {@code
+   *  maxItemsInBlock} parameter to {@link
+   *  #BlockTreeTermsWriter(SegmentWriteState,PostingsWriterBase,int,int)}. */
   public final static int DEFAULT_MAX_BLOCK_SIZE = 48;
 
   //public final static boolean DEBUG = false;
-  public final static boolean SAVE_DOT_FILES = false;
+  private final static boolean SAVE_DOT_FILES = false;
 
   static final int OUTPUT_FLAGS_NUM_BITS = 2;
   static final int OUTPUT_FLAGS_MASK = 0x3;
@@ -97,15 +104,21 @@ public class BlockTreeTermsWriter extend
   /** Extension of terms file */
   static final String TERMS_EXTENSION = "tim";
   final static String TERMS_CODEC_NAME = "BLOCK_TREE_TERMS_DICT";
-  // Initial format
+
+  /** Initial terms format. */
   public static final int TERMS_VERSION_START = 0;
+
+  /** Current terms format. */
   public static final int TERMS_VERSION_CURRENT = TERMS_VERSION_START;
 
   /** Extension of terms index file */
   static final String TERMS_INDEX_EXTENSION = "tip";
   final static String TERMS_INDEX_CODEC_NAME = "BLOCK_TREE_TERMS_INDEX";
-  // Initial format
+
+  /** Initial index format. */
   public static final int TERMS_INDEX_VERSION_START = 0;
+
+  /** Current index format. */
   public static final int TERMS_INDEX_VERSION_CURRENT = TERMS_INDEX_VERSION_START;
 
   private final IndexOutput out;
@@ -174,22 +187,26 @@ public class BlockTreeTermsWriter extend
     }
     this.indexOut = indexOut;
   }
-  
+
+  /** Writes the terms file header. */
   protected void writeHeader(IndexOutput out) throws IOException {
     CodecUtil.writeHeader(out, TERMS_CODEC_NAME, TERMS_VERSION_CURRENT); 
     out.writeLong(0);                             // leave space for end index pointer    
   }
 
+  /** Writes the index file header. */
   protected void writeIndexHeader(IndexOutput out) throws IOException {
     CodecUtil.writeHeader(out, TERMS_INDEX_CODEC_NAME, TERMS_INDEX_VERSION_CURRENT); 
     out.writeLong(0);                             // leave space for end index pointer    
   }
 
+  /** Writes the terms file trailer. */
   protected void writeTrailer(IndexOutput out, long dirStart) throws IOException {
     out.seek(CodecUtil.headerLength(TERMS_CODEC_NAME));
     out.writeLong(dirStart);    
   }
 
+  /** Writes the index file trailer. */
   protected void writeIndexTrailer(IndexOutput indexOut, long dirStart) throws IOException {
     indexOut.seek(CodecUtil.headerLength(TERMS_INDEX_CODEC_NAME));
     indexOut.writeLong(dirStart);    

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesArraySource.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesArraySource.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesArraySource.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesArraySource.java Fri Sep 21 20:15:53 2012
@@ -50,11 +50,14 @@ public abstract class DocValuesArraySour
     templates.put(Type.FLOAT_64, new DoubleValues());
     TEMPLATES = Collections.unmodifiableMap(templates);
   }
-  
+
+  /** Returns the {@link DocValuesArraySource} for the given
+   *  {@link Type}. */
   public static DocValuesArraySource forType(Type type) {
     return TEMPLATES.get(type);
   }
 
+  /** Number of bytes to encode each doc value. */
   protected final int bytesPerValue;
 
   DocValuesArraySource(int bytesPerValue, Type type) {
@@ -66,9 +69,13 @@ public abstract class DocValuesArraySour
   public abstract BytesRef getBytes(int docID, BytesRef ref);
 
   
+  /** Creates a {@link DocValuesArraySource} by loading a
+   *  previously saved one from an {@link IndexInput}. */
   public abstract DocValuesArraySource newFromInput(IndexInput input, int numDocs)
       throws IOException;
-  
+
+  /** Creates {@link DocValuesArraySource} from a native
+   *  array. */
   public abstract DocValuesArraySource newFromArray(Object array);
 
   @Override
@@ -76,10 +83,14 @@ public abstract class DocValuesArraySour
     return true;
   }
 
+  /** Encode a long value into the provided {@link
+   *  BytesRef}. */
   public void toBytes(long value, BytesRef bytesRef) {
     copyLong(bytesRef, value);
   }
 
+  /** Encode a double value into the provided {@link
+   *  BytesRef}. */
   public void toBytes(double value, BytesRef bytesRef) {
     copyLong(bytesRef, Double.doubleToRawLongBits(value));
   }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java Fri Sep 21 20:15:53 2012
@@ -51,9 +51,17 @@ import org.apache.lucene.util.BytesRef;
  */
 public abstract class DocValuesConsumer {
 
+  /** Spare {@link BytesRef} that subclasses can reuse. */
   protected final BytesRef spare = new BytesRef();
 
+  /** Returns the {@link Type} of this consumer. */
   protected abstract Type getType();
+
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected DocValuesConsumer() {
+  }
+
   /**
    * Adds the given {@link StorableField} instance to this
    * {@link DocValuesConsumer}

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/DocValuesFormat.java Fri Sep 21 20:15:53 2012
@@ -28,6 +28,10 @@ import org.apache.lucene.index.SegmentRe
  * @lucene.experimental
  */
 public abstract class DocValuesFormat {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected DocValuesFormat() {
+  }
 
   /** Consumes (writes) doc values during indexing. */
   public abstract PerDocConsumer docsConsumer(PerDocWriteState state) throws IOException;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosFormat.java Fri Sep 21 20:15:53 2012
@@ -26,6 +26,11 @@ import org.apache.lucene.index.FieldInfo
  * @lucene.experimental
  */
 public abstract class FieldInfosFormat {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected FieldInfosFormat() {
+  }
+
   /** Returns a {@link FieldInfosReader} to read field infos
    *  from the index */
   public abstract FieldInfosReader getFieldInfosReader() throws IOException;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosReader.java Fri Sep 21 20:15:53 2012
@@ -28,5 +28,12 @@ import org.apache.lucene.store.IOContext
  * @lucene.experimental
  */
 public abstract class FieldInfosReader {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected FieldInfosReader() {
+  }
+
+  /** Read the {@link FieldInfos} previously written with {@link
+   *  FieldInfosWriter}. */
   public abstract FieldInfos read(Directory directory, String segmentName, IOContext iocontext) throws IOException;
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldInfosWriter.java Fri Sep 21 20:15:53 2012
@@ -28,5 +28,12 @@ import org.apache.lucene.store.IOContext
  * @lucene.experimental
  */
 public abstract class FieldInfosWriter {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected FieldInfosWriter() {
+  }
+
+  /** Writes the provided {@link FieldInfos} to the
+   *  directory. */
   public abstract void write(Directory directory, String segmentName, FieldInfos infos, IOContext context) throws IOException;
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java Fri Sep 21 20:15:53 2012
@@ -45,12 +45,22 @@ import org.apache.lucene.index.Terms;
  */
 public abstract class FieldsConsumer implements Closeable {
 
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected FieldsConsumer() {
+  }
+
   /** Add a new field */
   public abstract TermsConsumer addField(FieldInfo field) throws IOException;
   
   /** Called when we are done adding everything. */
   public abstract void close() throws IOException;
 
+  /** Called during merging to merge all {@link Fields} from
+   *  sub-readers.  This must recurse to merge all postings
+   *  (terms, docs, positions, etc.).  A {@link
+   *  PostingsFormat} can override this default
+   *  implementation to do its own merging. */
   public void merge(MergeState mergeState, Fields fields) throws IOException {
     for (String field : fields) {
       mergeState.fieldInfo = mergeState.fieldInfos.fieldInfo(field);

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FieldsProducer.java Fri Sep 21 20:15:53 2012
@@ -29,5 +29,11 @@ import org.apache.lucene.index.Fields;
  */
 
 public abstract class FieldsProducer extends Fields implements Closeable {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected FieldsProducer() {
+  }
+
+  @Override
   public abstract void close() throws IOException;
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/FilterCodec.java Fri Sep 21 20:15:53 2012
@@ -43,6 +43,7 @@ package org.apache.lucene.codecs;
  */
 public abstract class FilterCodec extends Codec {
 
+  /** Sole constructor. */
   public FilterCodec(String name) {
     super(name);
   }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/LiveDocsFormat.java Fri Sep 21 20:15:53 2012
@@ -29,6 +29,12 @@ import org.apache.lucene.util.MutableBit
 /** Format for live/deleted documents
  * @lucene.experimental */
 public abstract class LiveDocsFormat {
+
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected LiveDocsFormat() {
+  }
+
   /** Creates a new MutableBits, with all bits set, for the specified size. */
   public abstract MutableBits newLiveDocs(int size) throws IOException;
 

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsAndPositionsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsAndPositionsEnum.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsAndPositionsEnum.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsAndPositionsEnum.java Fri Sep 21 20:15:53 2012
@@ -42,6 +42,10 @@ public final class MappingMultiDocsAndPo
   int doc = -1;
   private MergeState mergeState;
 
+  /** Sole constructor. */
+  public MappingMultiDocsAndPositionsEnum() {
+  }
+
   MappingMultiDocsAndPositionsEnum reset(MultiDocsAndPositionsEnum postingsEnum) {
     this.numSubs = postingsEnum.getNumSubs();
     this.subs = postingsEnum.getSubs();
@@ -50,14 +54,19 @@ public final class MappingMultiDocsAndPo
     return this;
   }
 
+  /** Sets the {@link MergeState}, which is used to re-map
+   *  document IDs. */
   public void setMergeState(MergeState mergeState) {
     this.mergeState = mergeState;
   }
   
+  /** How many sub-readers we are merging.
+   *  @see #getSubs */
   public int getNumSubs() {
     return numSubs;
   }
 
+  /** Returns sub-readers we are merging. */
   public EnumWithSlice[] getSubs() {
     return subs;
   }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsEnum.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsEnum.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MappingMultiDocsEnum.java Fri Sep 21 20:15:53 2012
@@ -41,6 +41,10 @@ public final class MappingMultiDocsEnum 
   int doc = -1;
   private MergeState mergeState;
 
+  /** Sole constructor. */
+  public MappingMultiDocsEnum() {
+  }
+
   MappingMultiDocsEnum reset(MultiDocsEnum docsEnum) {
     this.numSubs = docsEnum.getNumSubs();
     this.subs = docsEnum.getSubs();
@@ -49,14 +53,19 @@ public final class MappingMultiDocsEnum 
     return this;
   }
 
+  /** Sets the {@link MergeState}, which is used to re-map
+   *  document IDs. */
   public void setMergeState(MergeState mergeState) {
     this.mergeState = mergeState;
   }
   
+  /** How many sub-readers we are merging.
+   *  @see #getSubs */
   public int getNumSubs() {
     return numSubs;
   }
 
+  /** Returns sub-readers we are merging. */
   public EnumWithSlice[] getSubs() {
     return subs;
   }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListReader.java Fri Sep 21 20:15:53 2012
@@ -17,6 +17,7 @@ package org.apache.lucene.codecs;
  * limitations under the License.
  */
 
+import java.io.Closeable;
 import java.io.IOException;
 import java.util.Arrays;
 
@@ -35,7 +36,7 @@ import org.apache.lucene.util.MathUtil;
  * @lucene.experimental
  */
 
-public abstract class MultiLevelSkipListReader {
+public abstract class MultiLevelSkipListReader implements Closeable {
   /** the maximum number of skip levels possible for this index */
   protected int maxNumberOfSkipLevels; 
   
@@ -53,20 +54,36 @@ public abstract class MultiLevelSkipList
   
   private int docCount;
   private boolean haveSkipped;
-  
-  private IndexInput[] skipStream;    // skipStream for each level
-  private long skipPointer[];         // the start pointer of each skip level
-  private int skipInterval[];         // skipInterval of each level
-  private int[] numSkipped;           // number of docs skipped per level
-    
-  protected int[] skipDoc;            // doc id of current skip entry per level 
-  private int lastDoc;                // doc id of last read skip entry with docId <= target
-  private long[] childPointer;        // child pointer of current skip entry per level
-  private long lastChildPointer;      // childPointer of last read skip entry with docId <= target
+
+  /** skipStream for each level. */
+  private IndexInput[] skipStream;
+
+  /** The start pointer of each skip level. */
+  private long skipPointer[];
+
+  /**  skipInterval of each level. */
+  private int skipInterval[];
+
+  /** Number of docs skipped per level. */
+  private int[] numSkipped;
+
+  /** Doc id of current skip entry per level. */
+  protected int[] skipDoc;            
+
+  /** Doc id of last read skip entry with docId &lt;= target. */
+  private int lastDoc;
+
+  /** Child pointer of current skip entry per level. */
+  private long[] childPointer;
+
+  /** childPointer of last read skip entry with docId &lt;=
+   *  target. */
+  private long lastChildPointer;
   
   private boolean inputIsBuffered;
   private final int skipMultiplier;
 
+  /** Creates a {@code MultiLevelSkipListReader}. */
   protected MultiLevelSkipListReader(IndexInput skipStream, int maxSkipLevels, int skipInterval, int skipMultiplier) {
     this.skipStream = new IndexInput[maxSkipLevels];
     this.skipPointer = new long[maxSkipLevels];
@@ -85,7 +102,9 @@ public abstract class MultiLevelSkipList
     skipDoc = new int[maxSkipLevels];
   }
 
-  // skipMultiplier and skipInterval are the same:
+  /** Creates a {@code MultiLevelSkipListReader}, where
+   *  {@code skipInterval} and {@code skipMultiplier} are
+   *  the same. */
   protected MultiLevelSkipListReader(IndexInput skipStream, int maxSkipLevels, int skipInterval) {
     this(skipStream, maxSkipLevels, skipInterval, skipInterval);
   }
@@ -167,6 +186,7 @@ public abstract class MultiLevelSkipList
     }
   }
 
+  @Override
   public void close() throws IOException {
     for (int i = 1; i < skipStream.length; i++) {
       if (skipStream[i] != null) {
@@ -175,7 +195,7 @@ public abstract class MultiLevelSkipList
     }
   }
 
-  /** initializes the reader */
+  /** Initializes the reader, for reuse on a new term. */
   public void init(long skipPointer, int df) {
     this.skipPointer[0] = skipPointer;
     this.docCount = df;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/MultiLevelSkipListWriter.java Fri Sep 21 20:15:53 2012
@@ -55,15 +55,16 @@ public abstract class MultiLevelSkipList
   /** number of levels in this skip list */
   protected int numberOfSkipLevels;
   
-  // the skip interval in the list with level = 0
+  /** the skip interval in the list with level = 0 */
   private int skipInterval;
 
-  // skipInterval used for level > 0
+  /** skipInterval used for level &gt; 0 */
   private int skipMultiplier;
   
-  // for every skip level a different buffer is used 
+  /** for every skip level a different buffer is used  */
   private RAMOutputStream[] skipBuffer;
 
+  /** Creates a {@code MultiLevelSkipListWriter}. */
   protected MultiLevelSkipListWriter(int skipInterval, int skipMultiplier, int maxSkipLevels, int df) {
     this.skipInterval = skipInterval;
     this.skipMultiplier = skipMultiplier;
@@ -81,11 +82,14 @@ public abstract class MultiLevelSkipList
     }
   }
   
-  // skipMultiplier and skipInterval are the same:
+  /** Creates a {@code MultiLevelSkipListWriter}, where
+   *  {@code skipInterval} and {@code skipMultiplier} are
+   *  the same. */
   protected MultiLevelSkipListWriter(int skipInterval, int maxSkipLevels, int df) {
     this(skipInterval, skipInterval, maxSkipLevels, df);
   }
 
+  /** Allocates internal skip buffers. */
   protected void init() {
     skipBuffer = new RAMOutputStream[numberOfSkipLevels];
     for (int i = 0; i < numberOfSkipLevels; i++) {
@@ -93,7 +97,7 @@ public abstract class MultiLevelSkipList
     }
   }
 
-  /** creates new buffers or empties the existing ones */
+  /** Creates new buffers or empties the existing ones */
   protected void resetSkip() {
     if (skipBuffer == null) {
       init();

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/NormsFormat.java Fri Sep 21 20:15:53 2012
@@ -26,6 +26,10 @@ import org.apache.lucene.index.SegmentRe
  * format for normalization factors
  */
 public abstract class NormsFormat {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected NormsFormat() {
+  }
 
   /** Returns a {@link PerDocConsumer} to write norms to the
    *  index. */

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocConsumer.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocConsumer.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocConsumer.java Fri Sep 21 20:15:53 2012
@@ -35,6 +35,11 @@ import org.apache.lucene.index.DocValues
  * @lucene.experimental
  */
 public abstract class PerDocConsumer implements Closeable {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected PerDocConsumer() {
+  }
+
   /** Adds a new DocValuesField */
   public abstract DocValuesConsumer addValuesField(DocValues.Type type, FieldInfo field)
       throws IOException;
@@ -104,4 +109,7 @@ public abstract class PerDocConsumer imp
    * This method should cleanup all resources.
    */
   public abstract void abort();
+
+  @Override
+  public abstract void close() throws IOException;
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducer.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducer.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducer.java Fri Sep 21 20:15:53 2012
@@ -33,6 +33,11 @@ import org.apache.lucene.index.DocValues
  * @lucene.experimental
  */
 public abstract class PerDocProducer implements Closeable {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected PerDocProducer() {
+  }
+
   /**
    * Returns {@link DocValues} for the current field.
    * 
@@ -43,4 +48,7 @@ public abstract class PerDocProducer imp
    * @throws IOException
    */
   public abstract DocValues docValues(String field) throws IOException;
+
+  @Override
+  public abstract void close() throws IOException;
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducerBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducerBase.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducerBase.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PerDocProducerBase.java Fri Sep 21 20:15:53 2012
@@ -38,9 +38,17 @@ import org.apache.lucene.util.BytesRef;
  */
 public abstract class PerDocProducerBase extends PerDocProducer {
 
+  /** Closes provided Closables. */
   protected abstract void closeInternal(Collection<? extends Closeable> closeables) throws IOException;
+
+  /** Returns a map, mapping field names to doc values. */
   protected abstract Map<String, DocValues> docValues();
   
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected PerDocProducerBase() {
+  }
+
   @Override
   public void close() throws IOException {
     closeInternal(docValues().values());
@@ -50,12 +58,13 @@ public abstract class PerDocProducerBase
   public DocValues docValues(String field) throws IOException {
     return docValues().get(field);
   }
-  
+
+  /** Returns the comparator used to sort {@link BytesRef} values. */
   public Comparator<BytesRef> getComparator() throws IOException {
     return BytesRef.getUTF8SortedAsUnicodeComparator();
   }
 
-  // Only opens files... doesn't actually load any values
+  /** Only opens files... doesn't actually load any values. */
   protected TreeMap<String, DocValues> load(FieldInfos fieldInfos,
       String segment, int docCount, Directory dir, IOContext context)
       throws IOException {
@@ -81,19 +90,24 @@ public abstract class PerDocProducerBase
     }
     return values;
   }
-  
+
+  /** Returns true if this field indexed doc values. */
   protected boolean canLoad(FieldInfo info) {
     return info.hasDocValues();
   }
   
+  /** Returns the doc values type for this field. */
   protected Type getDocValuesType(FieldInfo info) {
     return info.getDocValuesType();
   }
   
+  /** Returns true if any fields indexed doc values. */
   protected boolean anyDocValuesFields(FieldInfos infos) {
     return infos.hasDocValues();
   }
-  
+
+  /** Returns the unique segment and field id for any
+   *  per-field files this implementation needs to write. */
   public static String docValuesId(String segmentsName, int fieldId) {
     return segmentsName + "_" + fieldId;
   }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsBaseFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsBaseFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsBaseFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsBaseFormat.java Fri Sep 21 20:15:53 2012
@@ -40,11 +40,16 @@ public abstract class PostingsBaseFormat
    *  reading the index */
   public final String name;
   
+  /** Sole constructor. */
   protected PostingsBaseFormat(String name) {
     this.name = name;
   }
 
+  /** Creates the {@link PostingsReaderBase} for this
+   *  format. */
   public abstract PostingsReaderBase postingsReaderBase(SegmentReadState state) throws IOException;
 
+  /** Creates the {@link PostingsWriterBase} for this
+   *  format. */
   public abstract PostingsWriterBase postingsWriterBase(SegmentWriteState state) throws IOException;
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsConsumer.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsConsumer.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsConsumer.java Fri Sep 21 20:15:53 2012
@@ -49,6 +49,11 @@ import org.apache.lucene.util.FixedBitSe
  */
 public abstract class PostingsConsumer {
 
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected PostingsConsumer() {
+  }
+
   /** Adds a new doc in this term. 
    * <code>freq</code> will be -1 when term frequencies are omitted
    * for the field. */

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsFormat.java Fri Sep 21 20:15:53 2012
@@ -42,7 +42,9 @@ public abstract class PostingsFormat imp
   private static final NamedSPILoader<PostingsFormat> loader =
     new NamedSPILoader<PostingsFormat>(PostingsFormat.class);
 
+  /** Zero-length {@code PostingsFormat} array. */
   public static final PostingsFormat[] EMPTY = new PostingsFormat[0];
+
   /** Unique name that's used to retrieve this format when
    *  reading the index.
    */

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java Fri Sep 21 20:15:53 2012
@@ -41,6 +41,14 @@ import org.apache.lucene.util.Bits;
 // TermsDict + PostingsReader/WriterBase == PostingsConsumer/Producer
 public abstract class PostingsReaderBase implements Closeable {
 
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected PostingsReaderBase() {
+  }
+
+  /** Performs any initialization, such as reading and
+   *  verifying the header from the provided terms
+   *  dictionary {@link IndexInput}. */
   public abstract void init(IndexInput termsIn) throws IOException;
 
   /** Return a newly created empty TermState */

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java Fri Sep 21 20:15:53 2012
@@ -40,8 +40,19 @@ import org.apache.lucene.index.FieldInfo
 // TermsDict + PostingsReader/WriterBase == PostingsConsumer/Producer
 public abstract class PostingsWriterBase extends PostingsConsumer implements Closeable {
 
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected PostingsWriterBase() {
+  }
+
+  /** Called once after startup, before any terms have been
+   *  added.  Implementations typically write a header to
+   *  the provided {@code termsOut}. */
   public abstract void start(IndexOutput termsOut) throws IOException;
 
+  /** Start a new term.  Note that a matching call to {@link
+   *  #finishTerm(TermStats)} is done, only if the term has at least one
+   *  document. */
   public abstract void startTerm() throws IOException;
 
   /** Flush count terms starting at start "backwards", as a
@@ -50,10 +61,13 @@ public abstract class PostingsWriterBase
    *  the stack. */
   public abstract void flushTermsBlock(int start, int count) throws IOException;
 
-  /** Finishes the current term */
+  /** Finishes the current term.  The provided {@link
+   *  TermStats} contains the term's summary statistics. */
   public abstract void finishTerm(TermStats stats) throws IOException;
 
+  /** Called when the writing switches to another field. */
   public abstract void setField(FieldInfo fieldInfo);
 
+  @Override
   public abstract void close() throws IOException;
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoFormat.java Fri Sep 21 20:15:53 2012
@@ -28,6 +28,16 @@ import org.apache.lucene.index.SegmentIn
  * @lucene.experimental
  */
 public abstract class SegmentInfoFormat {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected SegmentInfoFormat() {
+  }
+
+  /** Returns the {@link SegmentInfoReader} for reading
+   *  {@link SegmentInfo} instances. */
   public abstract SegmentInfoReader getSegmentInfoReader();
+
+  /** Returns the {@link SegmentInfoWriter} for writing
+   *  {@link SegmentInfo} instances. */
   public abstract SegmentInfoWriter getSegmentInfoWriter();
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoReader.java Fri Sep 21 20:15:53 2012
@@ -30,6 +30,11 @@ import org.apache.lucene.store.IOContext
 
 public abstract class SegmentInfoReader {
 
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected SegmentInfoReader() {
+  }
+
   /**
    * Read {@link SegmentInfo} data from a directory.
    * @param directory directory to read from

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/SegmentInfoWriter.java Fri Sep 21 20:15:53 2012
@@ -30,6 +30,10 @@ import org.apache.lucene.store.IOContext
  */
 
 public abstract class SegmentInfoWriter {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected SegmentInfoWriter() {
+  }
 
   /**
    * Write {@link SegmentInfo} data. 

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsFormat.java Fri Sep 21 20:15:53 2012
@@ -28,6 +28,11 @@ import org.apache.lucene.store.IOContext
  * Controls the format of stored fields
  */
 public abstract class StoredFieldsFormat {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected StoredFieldsFormat() {
+  }
+
   /** Returns a {@link StoredFieldsReader} to load stored
    *  fields. */
   public abstract StoredFieldsReader fieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context) throws IOException;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsReader.java Fri Sep 21 20:15:53 2012
@@ -30,6 +30,10 @@ import org.apache.lucene.index.StoredFie
  * @lucene.experimental
  */
 public abstract class StoredFieldsReader implements Cloneable, Closeable {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected StoredFieldsReader() {
+  }
   
   /** Visit the stored fields for document <code>n</code> */
   public abstract void visitDocument(int n, StoredFieldVisitor visitor) throws IOException;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java Fri Sep 21 20:15:53 2012
@@ -44,6 +44,11 @@ import org.apache.lucene.index.AtomicRea
  */
 public abstract class StoredFieldsWriter implements Closeable {
   
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected StoredFieldsWriter() {
+  }
+
   /** Called before writing the stored fields of the document.
    *  {@link #writeField(FieldInfo, StorableField)} will be called
    *  <code>numStoredFields</code> times. Note that this is
@@ -109,7 +114,9 @@ public abstract class StoredFieldsWriter
     startDocument(storedCount);
 
     for (StorableField field : doc) {
-        writeField(fieldInfos.fieldInfo(field.name()), field);
+      writeField(fieldInfos.fieldInfo(field.name()), field);
     }
   }
+
+  public abstract void close() throws IOException;
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermStats.java Fri Sep 21 20:15:53 2012
@@ -26,9 +26,15 @@ import org.apache.lucene.index.TermsEnum
  * @see TermsEnum#totalTermFreq
  */
 public class TermStats {
+  /** How many documents have at least one occurrence of
+   *  this term. */
   public final int docFreq;
+  
+  /** Total number of times this term occurs across all
+   *  documents in the field. */
   public final long totalTermFreq;
 
+  /** Sole constructor. */
   public TermStats(int docFreq, long totalTermFreq) {
     this.docFreq = docFreq;
     this.totalTermFreq = totalTermFreq;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsFormat.java Fri Sep 21 20:15:53 2012
@@ -28,6 +28,11 @@ import org.apache.lucene.store.IOContext
  * Controls the format of term vectors
  */
 public abstract class TermVectorsFormat {
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected TermVectorsFormat() {
+  }
+
   /** Returns a {@link TermVectorsReader} to read term
    *  vectors. */
   public abstract TermVectorsReader vectorsReader(Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, IOContext context) throws IOException;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java Fri Sep 21 20:15:53 2012
@@ -29,7 +29,12 @@ import org.apache.lucene.index.Fields;
  * 
  * @lucene.experimental
  */
-public abstract class TermVectorsReader implements Cloneable,Closeable {
+public abstract class TermVectorsReader implements Cloneable, Closeable {
+
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected TermVectorsReader() {
+  }
 
   /** Returns term vectors for this document, or null if
    *  term vectors were not indexed. If offsets are

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java Fri Sep 21 20:15:53 2012
@@ -59,6 +59,11 @@ import org.apache.lucene.util.BytesRef;
  */
 public abstract class TermVectorsWriter implements Closeable {
   
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected TermVectorsWriter() {
+  }
+
   /** Called before writing the term vectors of the document.
    *  {@link #startField(FieldInfo, int, boolean, boolean, boolean)} will 
    *  be called <code>numVectorFields</code> times. Note that if term 
@@ -279,4 +284,6 @@ public abstract class TermVectorsWriter 
   /** Return the BytesRef Comparator used to sort terms
    *  before feeding to this API. */
   public abstract Comparator<BytesRef> getComparator() throws IOException;
+
+  public abstract void close() throws IOException;
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermsConsumer.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermsConsumer.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/TermsConsumer.java Fri Sep 21 20:15:53 2012
@@ -53,6 +53,11 @@ import org.apache.lucene.util.FixedBitSe
  */
 public abstract class TermsConsumer {
 
+  /** Sole constructor. (For invocation by subclass 
+   *  constructors, typically implicit.) */
+  protected TermsConsumer() {
+  }
+
   /** Starts a new term in this field; this may be called
    *  with no corresponding call to finish if the term had
    *  no docs. */

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40Codec.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40Codec.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40Codec.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40Codec.java Fri Sep 21 20:15:53 2012
@@ -57,6 +57,7 @@ public class Lucene40Codec extends Codec
     }
   };
 
+  /** Sole constructor. */
   public Lucene40Codec() {
     super("Lucene40");
   }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesConsumer.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesConsumer.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesConsumer.java Fri Sep 21 20:15:53 2012
@@ -36,9 +36,11 @@ public class Lucene40DocValuesConsumer e
   private final Directory mainDirectory;
   private Directory directory;
   private final String segmentSuffix;
-  public final static String DOC_VALUES_SEGMENT_SUFFIX = "dv";
 
+  /** Segment suffix used when writing doc values index files. */
+  public final static String DOC_VALUES_SEGMENT_SUFFIX = "dv";
 
+  /** Sole constructor. */
   public Lucene40DocValuesConsumer(PerDocWriteState state, String segmentSuffix) {
     super(state);
     this.segmentSuffix = segmentSuffix;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesFormat.java Fri Sep 21 20:15:53 2012
@@ -130,6 +130,10 @@ import org.apache.lucene.util.packed.Pac
  */
 public class Lucene40DocValuesFormat extends DocValuesFormat {
 
+  /** Sole constructor. */
+  public Lucene40DocValuesFormat() {
+  }
+
   @Override
   public PerDocConsumer docsConsumer(PerDocWriteState state) throws IOException {
     return new Lucene40DocValuesConsumer(state, Lucene40DocValuesConsumer.DOC_VALUES_SEGMENT_SUFFIX);

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesProducer.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesProducer.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40DocValuesProducer.java Fri Sep 21 20:15:53 2012
@@ -44,6 +44,7 @@ import org.apache.lucene.util.IOUtils;
  * @lucene.experimental
  */
 public class Lucene40DocValuesProducer extends PerDocProducerBase {
+  /** Maps field name to {@link DocValues} instance. */
   protected final TreeMap<String,DocValues> docValues;
   private final Directory cfs;
   /**

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosFormat.java Fri Sep 21 20:15:53 2012
@@ -99,6 +99,10 @@ public class Lucene40FieldInfosFormat ex
   private final FieldInfosReader reader = new Lucene40FieldInfosReader();
   private final FieldInfosWriter writer = new Lucene40FieldInfosWriter();
   
+  /** Sole constructor. */
+  public Lucene40FieldInfosFormat() {
+  }
+
   @Override
   public FieldInfosReader getFieldInfosReader() throws IOException {
     return reader;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosReader.java Fri Sep 21 20:15:53 2012
@@ -1,21 +1,5 @@
 package org.apache.lucene.codecs.lucene40;
 
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Map;
-
-import org.apache.lucene.codecs.CodecUtil;
-import org.apache.lucene.codecs.FieldInfosReader;
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.FieldInfos;
-import org.apache.lucene.index.IndexFileNames;
-import org.apache.lucene.index.FieldInfo.IndexOptions;
-import org.apache.lucene.index.DocValues;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.IOContext;
-import org.apache.lucene.store.IndexInput;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -33,6 +17,22 @@ import org.apache.lucene.store.IndexInpu
  * limitations under the License.
  */
 
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.lucene.codecs.CodecUtil;
+import org.apache.lucene.codecs.FieldInfosReader;
+import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.index.FieldInfo;
+import org.apache.lucene.index.FieldInfos;
+import org.apache.lucene.index.IndexFileNames;
+import org.apache.lucene.index.FieldInfo.IndexOptions;
+import org.apache.lucene.index.DocValues;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
+import org.apache.lucene.store.IndexInput;
+
 /**
  * Lucene 4.0 FieldInfos reader.
  * 
@@ -41,6 +41,10 @@ import org.apache.lucene.store.IndexInpu
  */
 public class Lucene40FieldInfosReader extends FieldInfosReader {
 
+  /** Sole constructor. */
+  public Lucene40FieldInfosReader() {
+  }
+
   @Override
   public FieldInfos read(Directory directory, String segmentName, IOContext iocontext) throws IOException {
     final String fileName = IndexFileNames.segmentFileName(segmentName, "", Lucene40FieldInfosWriter.FIELD_INFOS_EXTENSION);

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40FieldInfosWriter.java Fri Sep 21 20:15:53 2012
@@ -21,10 +21,10 @@ import java.io.IOException;
 import org.apache.lucene.codecs.CodecUtil;
 import org.apache.lucene.codecs.FieldInfosWriter;
 import org.apache.lucene.index.DocValues.Type;
+import org.apache.lucene.index.FieldInfo.IndexOptions;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.FieldInfos;
 import org.apache.lucene.index.IndexFileNames;
-import org.apache.lucene.index.FieldInfo.IndexOptions;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexOutput;
@@ -51,6 +51,10 @@ public class Lucene40FieldInfosWriter ex
   static final byte STORE_PAYLOADS = 0x20;
   static final byte OMIT_TERM_FREQ_AND_POSITIONS = 0x40;
   static final byte OMIT_POSITIONS = -128;
+
+  /** Sole constructor. */
+  public Lucene40FieldInfosWriter() {
+  }
   
   @Override
   public void write(Directory directory, String segmentName, FieldInfos infos, IOContext context) throws IOException {
@@ -93,6 +97,8 @@ public class Lucene40FieldInfosWriter ex
     }
   }
 
+  /** Returns the byte used to encode the {@link
+   *  Type} for each field. */
   public byte docValuesByte(Type type) {
     if (type == null) {
       return 0;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40LiveDocsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40LiveDocsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40LiveDocsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40LiveDocsFormat.java Fri Sep 21 20:15:53 2012
@@ -66,6 +66,10 @@ public class Lucene40LiveDocsFormat exte
 
   /** Extension of deletes */
   static final String DELETES_EXTENSION = "del";
+
+  /** Sole constructor. */
+  public Lucene40LiveDocsFormat() {
+  }
   
   @Override
   public MutableBits newLiveDocs(int size) throws IOException {

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40NormsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40NormsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40NormsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40NormsFormat.java Fri Sep 21 20:15:53 2012
@@ -47,6 +47,10 @@ import org.apache.lucene.store.CompoundF
  */
 public class Lucene40NormsFormat extends NormsFormat {
   private final static String NORMS_SEGMENT_SUFFIX = "nrm";
+
+  /** Sole constructor. */
+  public Lucene40NormsFormat() {
+  }
   
   @Override
   public PerDocConsumer docsConsumer(PerDocWriteState state) throws IOException {
@@ -65,6 +69,7 @@ public class Lucene40NormsFormat extends
    */
   public static class Lucene40NormsDocValuesProducer extends Lucene40DocValuesProducer {
 
+    /** Sole constructor. */
     public Lucene40NormsDocValuesProducer(SegmentReadState state,
         String segmentSuffix) throws IOException {
       super(state, segmentSuffix);
@@ -95,6 +100,7 @@ public class Lucene40NormsFormat extends
    */
   public static class Lucene40NormsDocValuesConsumer extends Lucene40DocValuesConsumer {
 
+    /** Sole constructor. */
     public Lucene40NormsDocValuesConsumer(PerDocWriteState state,
         String segmentSuffix) {
       super(state, segmentSuffix);

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsBaseFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsBaseFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsBaseFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsBaseFormat.java Fri Sep 21 20:15:53 2012
@@ -34,6 +34,7 @@ import org.apache.lucene.index.SegmentWr
 // TODO: should these also be named / looked up via SPI?
 public final class Lucene40PostingsBaseFormat extends PostingsBaseFormat {
 
+  /** Sole constructor. */
   public Lucene40PostingsBaseFormat() {
     super("Lucene40");
   }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java Fri Sep 21 20:15:53 2012
@@ -274,10 +274,16 @@ public final class Lucene40PostingsForma
   private final int minBlockSize;
   private final int maxBlockSize;
 
+  /** Creates {@code Lucene40PostingsFormat} with default
+   *  settings. */
   public Lucene40PostingsFormat() {
     this(BlockTreeTermsWriter.DEFAULT_MIN_BLOCK_SIZE, BlockTreeTermsWriter.DEFAULT_MAX_BLOCK_SIZE);
   }
 
+  /** Creates {@code Lucene40PostingsFormat} with custom
+   *  values for {@code minBlockSize} and {@code
+   *  maxBlockSize} passed to block terms dictionary.
+   *  @see BlockTreeTermsWriter#BlockTreeTermsWriter(SegmentWriteState,PostingsWriterBase,int,int) */
   public Lucene40PostingsFormat(int minBlockSize, int maxBlockSize) {
     super("Lucene40");
     this.minBlockSize = minBlockSize;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java Fri Sep 21 20:15:53 2012
@@ -59,6 +59,7 @@ public class Lucene40PostingsReader exte
 
   // private String segment;
 
+  /** Sole constructor. */
   public Lucene40PostingsReader(Directory dir, FieldInfos fieldInfos, SegmentInfo segmentInfo, IOContext ioContext, String segmentSuffix) throws IOException {
     boolean success = false;
     IndexInput freqIn = null;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsWriter.java Fri Sep 21 20:15:53 2012
@@ -92,10 +92,14 @@ public final class Lucene40PostingsWrite
 
   // private String segment;
 
+  /** Creates a {@link Lucene40PostingsWriter}, with the
+   *  {@link #DEFAULT_SKIP_INTERVAL}. */
   public Lucene40PostingsWriter(SegmentWriteState state) throws IOException {
     this(state, DEFAULT_SKIP_INTERVAL);
   }
   
+  /** Creates a {@link Lucene40PostingsWriter}, with the
+   *  specified {@code skipInterval}. */
   public Lucene40PostingsWriter(SegmentWriteState state, int skipInterval) throws IOException {
     super();
     this.skipInterval = skipInterval;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoFormat.java Fri Sep 21 20:15:53 2012
@@ -22,6 +22,7 @@ import org.apache.lucene.codecs.SegmentI
 import org.apache.lucene.codecs.SegmentInfoReader;
 import org.apache.lucene.codecs.SegmentInfoWriter;
 import org.apache.lucene.index.IndexWriter; // javadocs
+import org.apache.lucene.index.SegmentInfo; // javadocs
 import org.apache.lucene.index.SegmentInfos; // javadocs
 import org.apache.lucene.store.DataOutput; // javadocs
 
@@ -70,6 +71,10 @@ import org.apache.lucene.store.DataOutpu
 public class Lucene40SegmentInfoFormat extends SegmentInfoFormat {
   private final SegmentInfoReader reader = new Lucene40SegmentInfoReader();
   private final SegmentInfoWriter writer = new Lucene40SegmentInfoWriter();
+
+  /** Sole constructor. */
+  public Lucene40SegmentInfoFormat() {
+  }
   
   @Override
   public SegmentInfoReader getSegmentInfoReader() {
@@ -81,6 +86,7 @@ public class Lucene40SegmentInfoFormat e
     return writer;
   }
 
+  /** File extension used to store {@link SegmentInfo}. */
   public final static String SI_EXTENSION = "si";
   static final String CODEC_NAME = "Lucene40SegmentInfo";
   static final int VERSION_START = 0;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoReader.java Fri Sep 21 20:15:53 2012
@@ -40,6 +40,10 @@ import org.apache.lucene.util.IOUtils;
  */
 public class Lucene40SegmentInfoReader extends SegmentInfoReader {
 
+  /** Sole constructor. */
+  public Lucene40SegmentInfoReader() {
+  }
+
   @Override
   public SegmentInfo read(Directory dir, String segment, IOContext context) throws IOException {
     final String fileName = IndexFileNames.segmentFileName(segment, "", Lucene40SegmentInfoFormat.SI_EXTENSION);

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SegmentInfoWriter.java Fri Sep 21 20:15:53 2012
@@ -37,6 +37,10 @@ import org.apache.lucene.util.IOUtils;
  */
 public class Lucene40SegmentInfoWriter extends SegmentInfoWriter {
 
+  /** Sole constructor. */
+  public Lucene40SegmentInfoWriter() {
+  }
+
   /** Save a single segment's info. */
   @Override
   public void write(Directory dir, SegmentInfo si, FieldInfos fis, IOContext ioContext) throws IOException {

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListReader.java Fri Sep 21 20:15:53 2012
@@ -43,7 +43,7 @@ public class Lucene40SkipListReader exte
   private int lastPayloadLength;
   private int lastOffsetLength;
                            
-
+  /** Sole constructor. */
   public Lucene40SkipListReader(IndexInput skipStream, int maxSkipLevels, int skipInterval) {
     super(skipStream, maxSkipLevels, skipInterval);
     freqPointer = new long[maxSkipLevels];
@@ -52,6 +52,7 @@ public class Lucene40SkipListReader exte
     offsetLength = new int[maxSkipLevels];
   }
 
+  /** Per-term initialization. */
   public void init(long skipPointer, long freqBasePointer, long proxBasePointer, int df, boolean storesPayloads, boolean storesOffsets) {
     super.init(skipPointer, df);
     this.currentFieldStoresPayloads = storesPayloads;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40SkipListWriter.java Fri Sep 21 20:15:53 2012
@@ -49,6 +49,7 @@ public class Lucene40SkipListWriter exte
   private long curFreqPointer;
   private long curProxPointer;
 
+  /** Sole constructor. */
   public Lucene40SkipListWriter(int skipInterval, int numberOfSkipLevels, int docCount, IndexOutput freqOutput, IndexOutput proxOutput) {
     super(skipInterval, numberOfSkipLevels, docCount);
     this.freqOutput = freqOutput;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsFormat.java Fri Sep 21 20:15:53 2012
@@ -81,6 +81,10 @@ import org.apache.lucene.store.IOContext
  * @lucene.experimental */
 public class Lucene40StoredFieldsFormat extends StoredFieldsFormat {
 
+  /** Sole constructor. */
+  public Lucene40StoredFieldsFormat() {
+  }
+
   @Override
   public StoredFieldsReader fieldsReader(Directory directory, SegmentInfo si,
       FieldInfos fn, IOContext context) throws IOException {

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsReader.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsReader.java Fri Sep 21 20:15:53 2012
@@ -64,7 +64,7 @@ public final class Lucene40StoredFieldsR
     return new Lucene40StoredFieldsReader(fieldInfos, numTotalDocs, size, fieldsStream.clone(), indexStream.clone());
   }
   
-  // Used only by clone
+  /** Used only by clone. */
   private Lucene40StoredFieldsReader(FieldInfos fieldInfos, int numTotalDocs, int size, IndexInput fieldsStream, IndexInput indexStream) {
     this.fieldInfos = fieldInfos;
     this.numTotalDocs = numTotalDocs;
@@ -73,6 +73,7 @@ public final class Lucene40StoredFieldsR
     this.indexStream = indexStream;
   }
 
+  /** Sole constructor. */
   public Lucene40StoredFieldsReader(Directory d, SegmentInfo si, FieldInfos fn, IOContext context) throws IOException {
     final String segment = si.name;
     boolean success = false;
@@ -128,6 +129,7 @@ public final class Lucene40StoredFieldsR
     }
   }
 
+  /** Returns number of documents. */
   public final int size() {
     return size;
   }
@@ -136,6 +138,7 @@ public final class Lucene40StoredFieldsR
     indexStream.seek(HEADER_LENGTH_IDX + docID * 8L);
   }
 
+  @Override
   public final void visitDocument(int n, StoredFieldVisitor visitor) throws IOException {
     seekIndex(n);
     fieldsStream.seek(indexStream.readLong());

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java Fri Sep 21 20:15:53 2012
@@ -16,6 +16,7 @@ package org.apache.lucene.codecs.lucene4
  * the License.
  */
 
+import java.io.Closeable;
 import java.io.IOException;
 
 import org.apache.lucene.codecs.CodecUtil;
@@ -85,6 +86,7 @@ public final class Lucene40StoredFieldsW
   private IndexOutput fieldsStream;
   private IndexOutput indexStream;
 
+  /** Sole constructor. */
   public Lucene40StoredFieldsWriter(Directory directory, String segment, IOContext context) throws IOException {
     assert directory != null;
     this.directory = directory;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsFormat.java?rev=1388662&r1=1388661&r2=1388662&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsFormat.java Fri Sep 21 20:15:53 2012
@@ -115,6 +115,10 @@ import org.apache.lucene.store.IOContext
  */
 public class Lucene40TermVectorsFormat extends TermVectorsFormat {
 
+  /** Sole constructor. */
+  public Lucene40TermVectorsFormat() {
+  }
+  
   @Override
   public TermVectorsReader vectorsReader(Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, IOContext context) throws IOException {
     return new Lucene40TermVectorsReader(directory, segmentInfo, fieldInfos, context);