class HadoopCatalog extends BaseMetastoreCatalog implements Closeable, SupportsNamespaces {

  @Override
  public boolean dropNamespace(Namespace namespace) {
    Path nsPath = new Path(warehouseLocation, SLASH.join(namespace.levels()));

    if (!isNamespace(nsPath) || namespace.isEmpty()) {
      return false;
    }

    try {
      if (fs.listStatusIterator(nsPath).hasNext()) {
        throw new NamespaceNotEmptyException("Namespace %s is not empty.", namespace);
      }

      return fs.delete(nsPath, false /* recursive */);
    } catch (IOException e) {
      throw new RuntimeIOException(e, "Namespace delete failed: %s", namespace);
    }
  }

  public  HadoopCatalog(String name, Configuration conf, String warehouseLocation);
  public  HadoopCatalog(Configuration conf, String warehouseLocation);
  public  HadoopCatalog(Configuration conf);

}