/*
 * Licensed to the University of California, Berkeley under one or more contributor license
 * agreements. See the NOTICE file distributed with this work for additional information regarding
 * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance with the License. You may obtain a
 * copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

package tachyon.client.table;

import java.io.IOException;
import java.nio.ByteBuffer;

import tachyon.TachyonURI;
import tachyon.annotation.PublicApi;
import tachyon.exception.TachyonException;
import tachyon.thrift.RawTableInfo;

@PublicApi
interface TachyonRawTablesCore {
  SimpleRawTable create(TachyonURI path, int numColumns, ByteBuffer metadata)
      throws IOException, TachyonException;

  RawTableInfo getInfo(SimpleRawTable rawTable) throws IOException, TachyonException;

  SimpleRawTable open(TachyonURI path) throws IOException, TachyonException;

  void updateRawTableMetadata(SimpleRawTable rawTable, ByteBuffer metadata)
      throws IOException, TachyonException;
}

@@ -1033,328 +1033,2251 @@
 Api%0A
-interface TachyonRawTablesCore %7B%0A  SimpleRawTable create(TachyonURI path, int numColumns, ByteBuffer metadata)%0A      throws IOException, TachyonException;%0A%0A  RawTableInfo getInfo(SimpleRawTable rawTable) throws IOException, TachyonException;%0A%0A  SimpleRawTable open(TachyonURI path) throws IOException, TachyonException;%0A
+/**%0A * User facing interface for the Tachyon Raw Table client APIs. Raw tables are collections of%0A * columns stored as files. A column may consist of one or more ordered files.%0A */%0Ainterface TachyonRawTablesCore %7B%0A  /**%0A   * Creates a new raw table.%0A   *%0A   * @param path the path of the table to create in Tachyon space, this must not already exist as%0A   *             a file or table.%0A   * @param numColumns the number of columns in the table%0A   * @param metadata the metadata associated with the table, this will be stored as bytes and%0A   *                 should be in a format the user can later understand%0A   * @return a %7B@link SimpleRawTable%7D satisfying the input parameters%0A   * @throws IOException if a non Tachyon related I/O error occurs%0A   * @throws TachyonException if an internal Tachyon error occurs%0A   */%0A  SimpleRawTable create(TachyonURI path, int numColumns, ByteBuffer metadata)%0A      throws IOException, TachyonException;%0A%0A  /**%0A   * Gets the metadata of a raw table, such as the number of columns.%0A   *%0A   * @param rawTable the handler for the table%0A   * @return the %7B@link RawTableInfo%7D for the table%0A   * @throws IOException if a non Tachyon related I/O error occurs%0A   * @throws TachyonException if an internal Tachyon error occurs%0A   */%0A  RawTableInfo getInfo(SimpleRawTable rawTable) throws IOException, TachyonException;%0A%0A  /**%0A   * Gets a handler for the given raw table, if it exists.%0A   *%0A   * @param path the path of the table in Tachyon space%0A   * @return a %7B@link SimpleRawTable%7D representing the table%0A   * @throws IOException if a non Tachyon related I/O error occurs%0A   * @throws TachyonException if an internal Tachyon error occurs%0A   */%0A  SimpleRawTable open(TachyonURI path) throws IOException, TachyonException;%0A%0A  /**%0A   * Updates the user defined metadata for the raw table. This will overwrite the previous%0A   * metadata if it existed.%0A   *%0A   * @param rawTable the handler for the table%0A   * @param metadata the new metadata to associate with the table, this will be stored as bytes%0A   *                 and should be in a format the user can later understand%0A   * @throws IOException if a non Tachyon related I/O error occurs%0A   * @throws TachyonException if an internal Tachyon error occurs%0A   */
 %0A  v

Add javadocs for raw table client.