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     */
018    package org.apache.hadoop.fs.permission;
019    
020    import java.io.IOException;
021    
022    import org.apache.hadoop.classification.InterfaceAudience;
023    import org.apache.hadoop.classification.InterfaceStability;
024    
025    /**
026     * An exception class for access control related issues.
027     * @deprecated Use {@link org.apache.hadoop.security.AccessControlException} 
028     *             instead.
029     */
030    @Deprecated
031    @InterfaceAudience.Public
032    @InterfaceStability.Stable
033    public class AccessControlException extends IOException {
034      //Required by {@link java.io.Serializable}.
035      private static final long serialVersionUID = 1L;
036    
037      /**
038       * Default constructor is needed for unwrapping from 
039       * {@link org.apache.hadoop.ipc.RemoteException}.
040       */
041      public AccessControlException() {
042        super("Permission denied.");
043      }
044    
045      /**
046       * Constructs an {@link AccessControlException}
047       * with the specified detail message.
048       * @param s the detail message.
049       */
050      public AccessControlException(String s) {
051        super(s);
052      }
053      
054      /**
055       * Constructs a new exception with the specified cause and a detail
056       * message of <tt>(cause==null ? null : cause.toString())</tt> (which
057       * typically contains the class and detail message of <tt>cause</tt>).
058       * @param  cause the cause (which is saved for later retrieval by the
059       *         {@link #getCause()} method).  (A <tt>null</tt> value is
060       *         permitted, and indicates that the cause is nonexistent or
061       *         unknown.)
062       */
063      public AccessControlException(Throwable cause) {
064        super(cause);
065      }
066    }