PageRenderTime 16ms CodeModel.GetById 9ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/tags/release-0.0.0-rc0/hive/external/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/PrivilegeScope.java

#
Java | 57 lines | 24 code | 11 blank | 22 comment | 0 complexity | 078a46d3a32923107ce30f77f0d3e34e MD5 | raw file
 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 */
18
19package org.apache.hadoop.hive.ql.security.authorization;
20
21import java.util.EnumSet;
22
23/**
24 * PrivilegeScope describes a hive defined privilege's scope
25 * (global/database/table/column). For example some hive privileges are
26 * db-level only, some are global, and some are table only.
27 */
28public enum PrivilegeScope {
29  
30  USER_LEVEL_SCOPE((short) 0x01), 
31  DB_LEVEL_SCOPE((short) 0x02), 
32  TABLE_LEVEL_SCOPE((short) 0x04), 
33  COLUMN_LEVEL_SCOPE((short) 0x08);
34
35  private short mode;
36
37  private PrivilegeScope(short mode) {
38    this.mode = mode;
39  }
40
41  public short getMode() {
42    return mode;
43  }
44
45  public void setMode(short mode) {
46    this.mode = mode;
47  }
48  
49  public static EnumSet<PrivilegeScope> ALLSCOPE = EnumSet.of(
50      PrivilegeScope.USER_LEVEL_SCOPE, PrivilegeScope.DB_LEVEL_SCOPE,
51      PrivilegeScope.TABLE_LEVEL_SCOPE, PrivilegeScope.COLUMN_LEVEL_SCOPE);
52
53  public static EnumSet<PrivilegeScope> ALLSCOPE_EXCEPT_COLUMN = EnumSet.of(
54      PrivilegeScope.USER_LEVEL_SCOPE, PrivilegeScope.DB_LEVEL_SCOPE,
55      PrivilegeScope.TABLE_LEVEL_SCOPE);
56
57}