// Path: hive-dwrf/src/main/java/com/facebook/hive/orc/compression/CompressionKind.java
// public enum CompressionKind {
//   NONE, ZLIB, SNAPPY, LZO
// }
// 
// Path: hive-dwrf/src/main/java/com/facebook/hive/orc/statistics/ColumnStatistics.java
// public interface ColumnStatistics {
//   /**
//    * Get the number of values in this column. It will differ from the number
//    * of rows because of NULL values and repeated values.
//    * @return the number of values
//    */
//   long getNumberOfValues();
// }


import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.io.WritableComparable;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Map;
import com.facebook.hive.orc.compression.CompressionKind;
import com.facebook.hive.orc.statistics.ColumnStatistics;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
  /**
   * Create an ORC file reader.
   * @param fs file system
   * @param path file name to read from
   * @return a new ORC file reader.
   * @throws IOException
   */
  public static Reader createReader(FileSystem fs, Path path, Configuration conf )
      throws IOException {
    return new ReaderImpl(fs, path, conf);
  }

  /**
   * Create an ORC file streamFactory.
   * @param fs file system
   * @param path filename to write to
   * @param inspector the ObjectInspector that inspects the rows
   * @param stripeSize the number of bytes in a stripe
   * @param compress how to compress the file
   * @param bufferSize the number of bytes to compress at once
   * @param rowIndexStride the number of rows between row index entries or
   *                       0 to suppress all indexes
   * @return a new ORC file streamFactory
   * @throws IOException
   */
  public static Writer createWriter(FileSystem fs,
                                    Path path,
                                    Configuration conf,
                                    ObjectInspector inspector,
                                    long stripeSize,
// Path: hive-dwrf/src/main/java/com/facebook/hive/orc/compression/CompressionKind.java
// public enum CompressionKind {
//   NONE, ZLIB, SNAPPY, LZO
// }
// 
// Path: hive-dwrf/src/main/java/com/facebook/hive/orc/statistics/ColumnStatistics.java
// public interface ColumnStatistics {
//   /**
//    * Get the number of values in this column. It will differ from the number
//    * of rows because of NULL values and repeated values.
//    * @return the number of values
//    */
//   long getNumberOfValues();
// }


// Path: hive-dwrf/src/main/java/com/facebook/hive/orc/OrcFile.java
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.io.WritableComparable;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Map;
import com.facebook.hive.orc.compression.CompressionKind;
import com.facebook.hive.orc.statistics.ColumnStatistics;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;

  /**
   * Create an ORC file reader.
   * @param fs file system
   * @param path file name to read from
   * @return a new ORC file reader.
   * @throws IOException
   */
  public static Reader createReader(FileSystem fs, Path path, Configuration conf )
      throws IOException {
    return new ReaderImpl(fs, path, conf);
  }

  /**
   * Create an ORC file streamFactory.
   * @param fs file system
   * @param path filename to write to
   * @param inspector the ObjectInspector that inspects the rows
   * @param stripeSize the number of bytes in a stripe
   * @param compress how to compress the file
   * @param bufferSize the number of bytes to compress at once
   * @param rowIndexStride the number of rows between row index entries or
   *                       0 to suppress all indexes
   * @return a new ORC file streamFactory
   * @throws IOException
   */
  public static Writer createWriter(FileSystem fs,
                                    Path path,
                                    Configuration conf,
                                    ObjectInspector inspector,
                                    long stripeSize,
                                    CompressionKind compress,