Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PrivilegeRequest.java
Go to the documentation of this file.
1 // Copyright 2013 Cloudera Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 package com.cloudera.impala.authorization;
16 
17 import com.google.common.base.Preconditions;
18 
19 /*
20  * Represents a privilege request in the context of an Authorizeable object. If no
21  * Authorizeable object is provided, it represents a privilege request on the server.
22  * For example, SELECT on table Foo in database Bar.
23  */
24 public class PrivilegeRequest {
26  private final Privilege privilege_;
27 
28  public PrivilegeRequest(Authorizeable authorizeable, Privilege privilege) {
29  Preconditions.checkNotNull(authorizeable);
30  Preconditions.checkNotNull(privilege);
31  authorizeable_ = authorizeable;
32  privilege_ = privilege;
33  }
34 
35  public PrivilegeRequest(Privilege privilege) {
36  Preconditions.checkNotNull(privilege);
37  authorizeable_ = null;
38  privilege_ = privilege;
39  }
40 
41  /*
42  * Name of the Authorizeable. Authorizeable refers to the server if it's null.
43  */
44  public String getName() {
45  return (authorizeable_ != null) ? authorizeable_.getName() : "server";
46  }
47 
48  /*
49  * Requested privilege on the Authorizeable.
50  */
51  public Privilege getPrivilege() { return privilege_; }
52 
53 
54  /*
55  * Returns Authorizeable object. Null if the request is for server-level permission.
56  */
58 }
PrivilegeRequest(Authorizeable authorizeable, Privilege privilege)