source: proiecte/HadoopJUnit/hadoop-0.20.1/src/core/org/apache/hadoop/security/authorize/ConnectionPermission.java @ 120

Last change on this file since 120 was 120, checked in by (none), 14 years ago

Added the mail files for the Hadoop JUNit Project

  • Property svn:executable set to *
File size: 2.1 KB
Line 
1/**
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements.  See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership.  The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License.  You may obtain a copy of the License at
9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18package org.apache.hadoop.security.authorize;
19
20import java.security.Permission;
21
22import org.apache.hadoop.ipc.VersionedProtocol;
23
24/**
25 * {@link Permission} to initiate a connection to a given service.
26 */
27public class ConnectionPermission extends Permission {
28
29  private static final long serialVersionUID = 1L;
30  private final Class<?> protocol;
31
32  /**
33   * {@link ConnectionPermission} for a given service.
34   * @param protocol service to be accessed
35   */
36  public ConnectionPermission(Class<?> protocol) {
37    super(protocol.getName());
38    this.protocol = protocol;
39  }
40
41  @Override
42  public boolean equals(Object obj) {
43    if (obj instanceof ConnectionPermission) {
44      return protocol == ((ConnectionPermission)obj).protocol;
45    }
46    return false;
47  }
48
49  @Override
50  public String getActions() {
51    return "ALLOW";
52  }
53
54  @Override
55  public int hashCode() {
56    return protocol.hashCode();
57  }
58
59  @Override
60  public boolean implies(Permission permission) {
61    if (permission instanceof ConnectionPermission) {
62      ConnectionPermission that = (ConnectionPermission)permission;
63      if (that.protocol.equals(VersionedProtocol.class)) {
64        return true;
65      }
66      return this.protocol.equals(that.protocol);
67    }
68    return false;
69  }
70
71  public String toString() {
72    return "ConnectionPermission(" + protocol.getName() + ")";
73  }
74}
Note: See TracBrowser for help on using the repository browser.