001/**
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements.  See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership.  The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License.  You may obtain a copy of the License at
009 *
010 *     http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018package org.apache.hadoop.fs.viewfs;
019
020import org.apache.hadoop.fs.permission.FsPermission;
021
022/**
023 * Config variable prefixes for ViewFs -
024 *     see {@link org.apache.hadoop.fs.viewfs.ViewFs} for examples.
025 * The mount table is specified in the config using these prefixes.
026 * See {@link org.apache.hadoop.fs.viewfs.ConfigUtil} for convenience lib.
027 */
028public interface Constants {
029  /**
030   * Prefix for the config variable prefix for the ViewFs mount-table
031   */
032  public static final String CONFIG_VIEWFS_PREFIX = "fs.viewfs.mounttable";
033 
034  /**
035   * Prefix for the home dir for the mount table - if not specified
036   * then the hadoop default value (/user) is used.
037   */
038  public static final String CONFIG_VIEWFS_HOMEDIR = "homedir";
039  
040  /**
041   * Config variable name for the default mount table.
042   */
043  public static final String CONFIG_VIEWFS_DEFAULT_MOUNT_TABLE = "default";
044  
045  /**
046   * Config variable full prefix for the default mount table.
047   */
048  public static final String CONFIG_VIEWFS_PREFIX_DEFAULT_MOUNT_TABLE = 
049          CONFIG_VIEWFS_PREFIX + "." + CONFIG_VIEWFS_DEFAULT_MOUNT_TABLE;
050  
051  /**
052   * Config variable for specifying a simple link
053   */
054  public static final String CONFIG_VIEWFS_LINK = "link";
055  
056  /**
057   * Config variable for specifying a merge link
058   */
059  public static final String CONFIG_VIEWFS_LINK_MERGE = "linkMerge";
060  
061  /**
062   * Config variable for specifying a merge of the root of the mount-table
063   *  with the root of another file system. 
064   */
065  public static final String CONFIG_VIEWFS_LINK_MERGE_SLASH = "linkMergeSlash";
066
067  static public final FsPermission PERMISSION_555 =
068      new FsPermission((short) 0555);
069}