Browse Source

HADOOP-245 and HADOOP-246. Improvements to record io package. Contributed by Mahadev.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@411909 13f79535-47bb-0310-9956-ffa450edef68
Doug Cutting 19 years ago
parent
commit
858ad78f4a
34 changed files with 133 additions and 66 deletions
  1. 3 0
      CHANGES.txt
  2. 1 1
      src/java/org/apache/hadoop/record/BinaryInputArchive.java
  3. 1 1
      src/java/org/apache/hadoop/record/BinaryOutputArchive.java
  4. 1 1
      src/java/org/apache/hadoop/record/CsvInputArchive.java
  5. 1 1
      src/java/org/apache/hadoop/record/CsvOutputArchive.java
  6. 1 1
      src/java/org/apache/hadoop/record/InputArchive.java
  7. 1 1
      src/java/org/apache/hadoop/record/OutputArchive.java
  8. 1 1
      src/java/org/apache/hadoop/record/RecordReader.java
  9. 2 2
      src/java/org/apache/hadoop/record/RecordWriter.java
  10. 1 1
      src/java/org/apache/hadoop/record/Utils.java
  11. 1 1
      src/java/org/apache/hadoop/record/XmlInputArchive.java
  12. 1 1
      src/java/org/apache/hadoop/record/XmlOutputArchive.java
  13. 18 5
      src/java/org/apache/hadoop/record/compiler/CppGenerator.java
  14. 1 1
      src/java/org/apache/hadoop/record/compiler/JBoolean.java
  15. 1 1
      src/java/org/apache/hadoop/record/compiler/JBuffer.java
  16. 1 1
      src/java/org/apache/hadoop/record/compiler/JByte.java
  17. 8 6
      src/java/org/apache/hadoop/record/compiler/JCompType.java
  18. 1 1
      src/java/org/apache/hadoop/record/compiler/JDouble.java
  19. 1 1
      src/java/org/apache/hadoop/record/compiler/JField.java
  20. 15 3
      src/java/org/apache/hadoop/record/compiler/JFile.java
  21. 1 1
      src/java/org/apache/hadoop/record/compiler/JFloat.java
  22. 1 1
      src/java/org/apache/hadoop/record/compiler/JInt.java
  23. 1 1
      src/java/org/apache/hadoop/record/compiler/JLong.java
  24. 1 1
      src/java/org/apache/hadoop/record/compiler/JMap.java
  25. 2 2
      src/java/org/apache/hadoop/record/compiler/JRecord.java
  26. 1 1
      src/java/org/apache/hadoop/record/compiler/JString.java
  27. 22 21
      src/java/org/apache/hadoop/record/compiler/JType.java
  28. 1 1
      src/java/org/apache/hadoop/record/compiler/JVector.java
  29. 13 3
      src/java/org/apache/hadoop/record/compiler/JavaGenerator.java
  30. 12 0
      src/java/org/apache/hadoop/record/compiler/generated/package.html
  31. 14 0
      src/java/org/apache/hadoop/record/compiler/package.html
  32. 1 1
      src/test/org/apache/hadoop/record/test/FromCpp.java
  33. 1 1
      src/test/org/apache/hadoop/record/test/TestRecordIO.java
  34. 1 1
      src/test/org/apache/hadoop/record/test/ToCpp.java

+ 3 - 0
CHANGES.txt

@@ -13,6 +13,9 @@ Trunk (unreleased changes)
     waiting for map outputs, so that they do not time out.
     waiting for map outputs, so that they do not time out.
     (Mahadev Konar via cutting)
     (Mahadev Konar via cutting)
 
 
+ 4. HADOOP-245 and HADOOP-246.  Improvements to record io package.  
+    (Mahadev Konar via cutting)
+
 
 
 Release 0.3.0 - 2006-06-02
 Release 0.3.0 - 2006-06-02
 
 

+ 1 - 1
src/java/org/apache/hadoop/record/BinaryInputArchive.java

@@ -25,7 +25,7 @@ import java.io.InputStream;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class BinaryInputArchive implements InputArchive {
 public class BinaryInputArchive implements InputArchive {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/BinaryOutputArchive.java

@@ -26,7 +26,7 @@ import java.io.OutputStream;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class BinaryOutputArchive implements OutputArchive {
 public class BinaryOutputArchive implements OutputArchive {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/CsvInputArchive.java

@@ -26,7 +26,7 @@ import java.io.UnsupportedEncodingException;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 class CsvInputArchive implements InputArchive {
 class CsvInputArchive implements InputArchive {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/CsvOutputArchive.java

@@ -26,7 +26,7 @@ import java.io.UnsupportedEncodingException;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class CsvOutputArchive implements OutputArchive {
 public class CsvOutputArchive implements OutputArchive {
 
 

+ 1 - 1
src/java/org/apache/hadoop/record/InputArchive.java

@@ -24,7 +24,7 @@ import java.util.ArrayList;
 /**
 /**
  * Interface that all the Deserializers have to implement.
  * Interface that all the Deserializers have to implement.
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public interface InputArchive {
 public interface InputArchive {
     public byte readByte(String tag) throws IOException;
     public byte readByte(String tag) throws IOException;

+ 1 - 1
src/java/org/apache/hadoop/record/OutputArchive.java

@@ -24,7 +24,7 @@ import java.util.ArrayList;
 /**
 /**
  * Interface that alll the serializers have to implement.
  * Interface that alll the serializers have to implement.
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public interface OutputArchive {
 public interface OutputArchive {
     public void writeByte(byte b, String tag) throws IOException;
     public void writeByte(byte b, String tag) throws IOException;

+ 1 - 1
src/java/org/apache/hadoop/record/RecordReader.java

@@ -30,7 +30,7 @@ import org.xml.sax.SAXException;
  * Front-end interface to deserializers. Also acts as a factory
  * Front-end interface to deserializers. Also acts as a factory
  * for deserializers.
  * for deserializers.
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class RecordReader {
 public class RecordReader {
     
     

+ 2 - 2
src/java/org/apache/hadoop/record/RecordWriter.java

@@ -30,7 +30,7 @@ import org.xml.sax.SAXException;
 /**
 /**
  * Front-end for serializers. Also serves as a factory for serializers.
  * Front-end for serializers. Also serves as a factory for serializers.
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class RecordWriter {
 public class RecordWriter {
     
     
@@ -112,4 +112,4 @@ public class RecordWriter {
     public void write(Record r) throws IOException {
     public void write(Record r) throws IOException {
         r.serialize(archive, "");
         r.serialize(archive, "");
     }
     }
-}
+}

+ 1 - 1
src/java/org/apache/hadoop/record/Utils.java

@@ -24,7 +24,7 @@ import java.io.UnsupportedEncodingException;
 
 
 /**
 /**
  * Various utility functions for Hadooop record I/O runtime.
  * Various utility functions for Hadooop record I/O runtime.
- * @author milindb@yahoo-inc.com
+ * @author Milind Bhandarkar
  */
  */
 public class Utils {
 public class Utils {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/XmlInputArchive.java

@@ -29,7 +29,7 @@ import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParser;
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 class XmlInputArchive implements InputArchive {
 class XmlInputArchive implements InputArchive {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/XmlOutputArchive.java

@@ -26,7 +26,7 @@ import java.util.Stack;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 class XmlOutputArchive implements OutputArchive {
 class XmlOutputArchive implements OutputArchive {
 
 

+ 18 - 5
src/java/org/apache/hadoop/record/compiler/CppGenerator.java

@@ -23,22 +23,35 @@ import java.io.IOException;
 import java.util.Iterator;
 import java.util.Iterator;
 
 
 /**
 /**
+ * C++ Code generator front-end for Hadoop record I/O.
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 class CppGenerator {
 class CppGenerator {
+    private String mFullName;
     private String mName;
     private String mName;
     private ArrayList mInclFiles;
     private ArrayList mInclFiles;
     private ArrayList mRecList;
     private ArrayList mRecList;
     
     
-    /** Creates a new instance of CppGenerator */
-    public CppGenerator(String name, ArrayList ilist, ArrayList rlist) {
-        mName = name;
+    /** Creates a new instance of CppGenerator
+     *
+     * @param name possibly full pathname to the file
+     * @param ilist included files (as JFile)
+     * @param rlist List of records defined within this file
+     */
+    CppGenerator(String name, ArrayList ilist, ArrayList rlist) {
+        mFullName = name;
+        mName = (new File(name)).getName();
         mInclFiles = ilist;
         mInclFiles = ilist;
         mRecList = rlist;
         mRecList = rlist;
     }
     }
     
     
-    public void genCode() throws IOException {
+    /**
+     * Generate C++ code. This method only creates the requested file(s)
+     * and spits-out file-level elements (such as include statements etc.)
+     * record-level code is generated by JRecord.
+     */
+    void genCode() throws IOException {
         FileWriter cc = new FileWriter(mName+".cc");
         FileWriter cc = new FileWriter(mName+".cc");
         FileWriter hh = new FileWriter(mName+".hh");
         FileWriter hh = new FileWriter(mName+".hh");
         hh.write("#ifndef __"+mName.toUpperCase().replace('.','_')+"__\n");
         hh.write("#ifndef __"+mName.toUpperCase().replace('.','_')+"__\n");

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JBoolean.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JBoolean extends JType {
 public class JBoolean extends JType {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JBuffer.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JBuffer extends JCompType {
 public class JBuffer extends JCompType {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JByte.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JByte extends JType {
 public class JByte extends JType {
     
     

+ 8 - 6
src/java/org/apache/hadoop/record/compiler/JCompType.java

@@ -17,17 +17,19 @@
 package org.apache.hadoop.record.compiler;
 package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
+ * Abstract base class for all the "compound" types such as ustring,
+ * buffer, vector, map, and record.
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 abstract class JCompType extends JType {
 abstract class JCompType extends JType {
     
     
     /** Creates a new instance of JCompType */
     /** Creates a new instance of JCompType */
-    public JCompType(String cppType, String javaType, String suffix, String wrapper) {
+    JCompType(String cppType, String javaType, String suffix, String wrapper) {
         super(cppType, javaType, suffix, wrapper, null);
         super(cppType, javaType, suffix, wrapper, null);
     }
     }
     
     
-    public String genCppGetSet(String fname, int fIdx) {
+    String genCppGetSet(String fname, int fIdx) {
         String cgetFunc = "  virtual const "+getCppType()+"& get"+fname+"() const {\n";
         String cgetFunc = "  virtual const "+getCppType()+"& get"+fname+"() const {\n";
         cgetFunc += "    return m"+fname+";\n";
         cgetFunc += "    return m"+fname+";\n";
         cgetFunc += "  }\n";
         cgetFunc += "  }\n";
@@ -37,15 +39,15 @@ abstract class JCompType extends JType {
         return cgetFunc + getFunc;
         return cgetFunc + getFunc;
     }
     }
     
     
-    public String genJavaCompareTo(String fname) {
+    String genJavaCompareTo(String fname) {
         return "    ret = "+fname+".compareTo(peer."+fname+");\n";
         return "    ret = "+fname+".compareTo(peer."+fname+");\n";
     }
     }
     
     
-    public String genJavaEquals(String fname, String peer) {
+    String genJavaEquals(String fname, String peer) {
         return "    ret = "+fname+".equals("+peer+");\n";
         return "    ret = "+fname+".equals("+peer+");\n";
     }
     }
     
     
-    public String genJavaHashCode(String fname) {
+    String genJavaHashCode(String fname) {
         return "    ret = "+fname+".hashCode();\n";
         return "    ret = "+fname+".hashCode();\n";
     }
     }
 }
 }

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JDouble.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JDouble extends JType {
 public class JDouble extends JType {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JField.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JField {
 public class JField {
     private JType mType;
     private JType mType;

+ 15 - 3
src/java/org/apache/hadoop/record/compiler/JFile.java

@@ -20,8 +20,11 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.ArrayList;
 
 
 /**
 /**
+ * Container for the Hadoop Record DDL.
+ * The main components of the file are filename, list of included files,
+ * and records defined in that file.
  *
  *
- * @author milindb@yahoo-inc.com
+ * @author Milind Bhandarkar
  */
  */
 public class JFile {
 public class JFile {
     
     
@@ -29,18 +32,27 @@ public class JFile {
     private ArrayList mInclFiles;
     private ArrayList mInclFiles;
     private ArrayList mRecords;
     private ArrayList mRecords;
     
     
-    /** Creates a new instance of JFile */
+    /** Creates a new instance of JFile
+     *
+     * @param name possibly full pathname to the file
+     * @param inclFiles included files (as JFile)
+     * @param recList List of records defined within this file
+     */
     public JFile(String name, ArrayList inclFiles, ArrayList recList) {
     public JFile(String name, ArrayList inclFiles, ArrayList recList) {
         mName = name;
         mName = name;
         mInclFiles = inclFiles;
         mInclFiles = inclFiles;
         mRecords = recList;
         mRecords = recList;
     }
     }
-        
+    
+    /** Strip the other pathname components and return the basename */
     String getName() {
     String getName() {
         int idx = mName.lastIndexOf('/');
         int idx = mName.lastIndexOf('/');
         return (idx > 0) ? mName.substring(idx) : mName; 
         return (idx > 0) ? mName.substring(idx) : mName; 
     }
     }
     
     
+    /** Generate record code in given language. Language should be all
+     *  lowercase.
+     */
     public void genCode(String language) throws IOException {
     public void genCode(String language) throws IOException {
         if ("c++".equals(language)) {
         if ("c++".equals(language)) {
             CppGenerator gen = new CppGenerator(mName, mInclFiles, mRecords);
             CppGenerator gen = new CppGenerator(mName, mInclFiles, mRecords);

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JFloat.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JFloat extends JType {
 public class JFloat extends JType {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JInt.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JInt extends JType {
 public class JInt extends JType {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JLong.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JLong extends JType {
 public class JLong extends JType {
     
     

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JMap.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JMap extends JCompType {
 public class JMap extends JCompType {
    
    

+ 2 - 2
src/java/org/apache/hadoop/record/compiler/JRecord.java

@@ -24,7 +24,7 @@ import java.util.Iterator;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JRecord extends JCompType {
 public class JRecord extends JCompType {
 
 
@@ -132,7 +132,7 @@ public class JRecord extends JCompType {
             hh.write(jf.genCppGetSet(fIdx));
             hh.write(jf.genCppGetSet(fIdx));
         }
         }
         hh.write("}; // end record "+getName()+"\n");
         hh.write("}; // end record "+getName()+"\n");
-        for (int i=0; i<ns.length; i++) {
+        for (int i=ns.length-1; i>=0; i--) {
             hh.write("} // end namespace "+ns[i]+"\n");
             hh.write("} // end namespace "+ns[i]+"\n");
         }
         }
         cc.write("void "+getCppFQName()+"::serialize(::hadoop::OArchive& a_, const char* tag) {\n");
         cc.write("void "+getCppFQName()+"::serialize(::hadoop::OArchive& a_, const char* tag) {\n");

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JString.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JString extends JCompType {
 public class JString extends JCompType {
     
     

+ 22 - 21
src/java/org/apache/hadoop/record/compiler/JType.java

@@ -17,10 +17,11 @@
 package org.apache.hadoop.record.compiler;
 package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
- *
- * @author milindb
+ * Abstract Base class for all types supported by Hadoop Record I/O.
+ * 
+ * @author Milind Bhandarkar
  */
  */
-public abstract class JType {
+abstract public class JType {
     
     
     private String mCppName;
     private String mCppName;
     private String mJavaName;
     private String mJavaName;
@@ -31,7 +32,7 @@ public abstract class JType {
     /**
     /**
      * Creates a new instance of JType
      * Creates a new instance of JType
      */
      */
-    public JType(String cppname, String javaname, String suffix, String wrapper, String unwrap) {
+    JType(String cppname, String javaname, String suffix, String wrapper, String unwrap) {
         mCppName = cppname;
         mCppName = cppname;
         mJavaName = javaname;
         mJavaName = javaname;
         mMethodSuffix = suffix;
         mMethodSuffix = suffix;
@@ -39,21 +40,21 @@ public abstract class JType {
         mUnwrapMethod = unwrap;
         mUnwrapMethod = unwrap;
     }
     }
     
     
-    abstract public String getSignature();
+    abstract String getSignature();
     
     
-    public String genCppDecl(String fname) {
+    String genCppDecl(String fname) {
         return "  "+mCppName+" m"+fname+";\n"; 
         return "  "+mCppName+" m"+fname+";\n"; 
     }
     }
     
     
-    public String genJavaDecl (String fname) {
+    String genJavaDecl (String fname) {
         return "  private "+mJavaName+" m"+fname+";\n";
         return "  private "+mJavaName+" m"+fname+";\n";
     }
     }
     
     
-    public String genJavaConstructorParam (int fIdx) {
+    String genJavaConstructorParam (int fIdx) {
         return "        "+mJavaName+" m"+fIdx;
         return "        "+mJavaName+" m"+fIdx;
     }
     }
     
     
-    public String genCppGetSet(String fname, int fIdx) {
+    String genCppGetSet(String fname, int fIdx) {
         String getFunc = "  virtual "+mCppName+" get"+fname+"() const {\n";
         String getFunc = "  virtual "+mCppName+" get"+fname+"() const {\n";
         getFunc += "    return m"+fname+";\n";
         getFunc += "    return m"+fname+";\n";
         getFunc += "  }\n";
         getFunc += "  }\n";
@@ -63,7 +64,7 @@ public abstract class JType {
         return getFunc+setFunc;
         return getFunc+setFunc;
     }
     }
     
     
-    public String genJavaGetSet(String fname, int fIdx) {
+    String genJavaGetSet(String fname, int fIdx) {
         String getFunc = "  public "+mJavaName+" get"+fname+"() {\n";
         String getFunc = "  public "+mJavaName+" get"+fname+"() {\n";
         getFunc += "    return m"+fname+";\n";
         getFunc += "    return m"+fname+";\n";
         getFunc += "  }\n";
         getFunc += "  }\n";
@@ -73,31 +74,31 @@ public abstract class JType {
         return getFunc+setFunc;
         return getFunc+setFunc;
     }
     }
     
     
-    public String getCppType() {
+    String getCppType() {
         return mCppName;
         return mCppName;
     }
     }
     
     
-    public String getJavaType() {
+    String getJavaType() {
         return mJavaName;
         return mJavaName;
     }
     }
    
    
-    public String getJavaWrapperType() {
+    String getJavaWrapperType() {
         return mWrapper;
         return mWrapper;
     }
     }
     
     
-    public String getMethodSuffix() {
+    String getMethodSuffix() {
         return mMethodSuffix;
         return mMethodSuffix;
     }
     }
     
     
-    public String genJavaWriteMethod(String fname, String tag) {
+    String genJavaWriteMethod(String fname, String tag) {
         return "    a_.write"+mMethodSuffix+"("+fname+",\""+tag+"\");\n";
         return "    a_.write"+mMethodSuffix+"("+fname+",\""+tag+"\");\n";
     }
     }
     
     
-    public String genJavaReadMethod(String fname, String tag) {
+    String genJavaReadMethod(String fname, String tag) {
         return "    "+fname+"=a_.read"+mMethodSuffix+"(\""+tag+"\");\n";
         return "    "+fname+"=a_.read"+mMethodSuffix+"(\""+tag+"\");\n";
     }
     }
     
     
-    public String genJavaReadWrapper(String fname, String tag, boolean decl) {
+    String genJavaReadWrapper(String fname, String tag, boolean decl) {
         String ret = "";
         String ret = "";
         if (decl) {
         if (decl) {
             ret = "    "+mWrapper+" "+fname+";\n";
             ret = "    "+mWrapper+" "+fname+";\n";
@@ -105,19 +106,19 @@ public abstract class JType {
         return ret + "    "+fname+"=new "+mWrapper+"(a_.read"+mMethodSuffix+"(\""+tag+"\"));\n";
         return ret + "    "+fname+"=new "+mWrapper+"(a_.read"+mMethodSuffix+"(\""+tag+"\"));\n";
     }
     }
     
     
-    public String genJavaWriteWrapper(String fname, String tag) {
+    String genJavaWriteWrapper(String fname, String tag) {
         return "        a_.write"+mMethodSuffix+"("+fname+"."+mUnwrapMethod+"(),\""+tag+"\");\n";
         return "        a_.write"+mMethodSuffix+"("+fname+"."+mUnwrapMethod+"(),\""+tag+"\");\n";
     }
     }
     
     
-    public String genJavaCompareTo(String fname) {
+    String genJavaCompareTo(String fname) {
         return "    ret = ("+fname+" == peer."+fname+")? 0 :(("+fname+"<peer."+fname+")?-1:1);\n";
         return "    ret = ("+fname+" == peer."+fname+")? 0 :(("+fname+"<peer."+fname+")?-1:1);\n";
     }
     }
     
     
-    public String genJavaEquals(String fname, String peer) {
+    String genJavaEquals(String fname, String peer) {
         return "    ret = ("+fname+"=="+peer+");\n";
         return "    ret = ("+fname+"=="+peer+");\n";
     }
     }
     
     
-    public String genJavaHashCode(String fname) {
+    String genJavaHashCode(String fname) {
         return "    ret = (int)"+fname+";\n";
         return "    ret = (int)"+fname+";\n";
     }
     }
 
 

+ 1 - 1
src/java/org/apache/hadoop/record/compiler/JVector.java

@@ -18,7 +18,7 @@ package org.apache.hadoop.record.compiler;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class JVector extends JCompType {
 public class JVector extends JCompType {
     
     

+ 13 - 3
src/java/org/apache/hadoop/record/compiler/JavaGenerator.java

@@ -23,22 +23,32 @@ import java.io.IOException;
 import java.util.Iterator;
 import java.util.Iterator;
 
 
 /**
 /**
+ * Java Code generator front-end for Hadoop record I/O.
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 class JavaGenerator {
 class JavaGenerator {
     private String mName;
     private String mName;
     private ArrayList mInclFiles;
     private ArrayList mInclFiles;
     private ArrayList mRecList;
     private ArrayList mRecList;
     
     
-    /** Creates a new instance of JavaGenerator */
+    /** Creates a new instance of JavaGenerator
+     *
+     * @param name possibly full pathname to the file
+     * @param incl included files (as JFile)
+     * @param records List of records defined within this file
+     */
     JavaGenerator(String name, ArrayList incl, ArrayList records) {
     JavaGenerator(String name, ArrayList incl, ArrayList records) {
         mName = name;
         mName = name;
         mInclFiles = incl;
         mInclFiles = incl;
         mRecList = records;
         mRecList = records;
     }
     }
     
     
-    public void genCode() throws IOException {
+    /**
+     * Generate Java code for records. This method is only a front-end to
+     * JRecord, since one file is generated for each record.
+     */
+    void genCode() throws IOException {
         for (Iterator i = mRecList.iterator(); i.hasNext(); ) {
         for (Iterator i = mRecList.iterator(); i.hasNext(); ) {
             JRecord rec = (JRecord) i.next();
             JRecord rec = (JRecord) i.next();
             rec.genJavaCode();
             rec.genJavaCode();

+ 12 - 0
src/java/org/apache/hadoop/record/compiler/generated/package.html

@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+  <head>
+    <title>Hadoop Record Compiler: Parser</title>
+  </head>
+  <body>
+  This package contains code generated by JavaCC from the
+  Hadoop record syntax file rcc.jj. For details about the
+  record file syntax please @see org.apache.hadoop.record.
+  </body>
+</html>

+ 14 - 0
src/java/org/apache/hadoop/record/compiler/package.html

@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+  <head>
+    <title>Hadoop Record Compiler</title>
+  </head>
+  <body>
+  This package contains classes needed for code generation
+  from the hadoop record compiler. CppGenerator and JavaGenerator
+  are the main entry points from the parser. There are classes
+  corrsponding to every primitive type and compound type
+  included in Hadoop record I/O syntax.
+  </body>
+</html>

+ 1 - 1
src/test/org/apache/hadoop/record/test/FromCpp.java

@@ -29,7 +29,7 @@ import junit.framework.*;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class FromCpp extends TestCase {
 public class FromCpp extends TestCase {
     
     

+ 1 - 1
src/test/org/apache/hadoop/record/test/TestRecordIO.java

@@ -29,7 +29,7 @@ import java.util.TreeMap;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class TestRecordIO extends TestCase {
 public class TestRecordIO extends TestCase {
     
     

+ 1 - 1
src/test/org/apache/hadoop/record/test/ToCpp.java

@@ -29,7 +29,7 @@ import java.util.TreeMap;
 
 
 /**
 /**
  *
  *
- * @author milindb
+ * @author Milind Bhandarkar
  */
  */
 public class ToCpp extends TestCase {
 public class ToCpp extends TestCase {