source: trunk/src/org/expeditee/encryption/items/UserAppliedEncryptionPermission.java@ 1374

Last change on this file since 1374 was 1374, checked in by bln4, 5 years ago

Implemented EncryptionPermission attribute.

EncryptionPermission is a triple. When specifying the value, if you do not specify the 2nd (group) or 3rd (other) then they default to permission level zero.

File size: 1.2 KB
Line 
1package org.expeditee.encryption.items;
2
3public enum UserAppliedEncryptionPermission {
4 none(0), homogeneous(1), hetrogeneous_limited(2), hetrogeneous(3), full(4);
5
6 private final int val;
7
8 private UserAppliedEncryptionPermission(int val) {
9 this.val = val;
10 }
11
12 public static UserAppliedEncryptionPermission getPermission(
13 String permissionCode,
14 UserAppliedEncryptionPermission defaultPermission) {
15 if (permissionCode == null) {
16 return defaultPermission;
17 }
18
19 permissionCode = permissionCode.trim().toLowerCase();
20 if (permissionCode.length() == 0) {
21 return defaultPermission;
22 }
23
24 try {
25 return resolve(Integer.parseInt(permissionCode), defaultPermission);
26 } catch (final NumberFormatException e) {
27 try {
28 return valueOf(permissionCode);
29 } catch (final Exception ex) {
30 return defaultPermission;
31 }
32 }
33 }
34
35 public int getCode() { return val; }
36
37 public String toString() { return this.name(); }
38
39 private static UserAppliedEncryptionPermission resolve(
40 int val,
41 UserAppliedEncryptionPermission defaultPermission) {
42 for (UserAppliedEncryptionPermission p : values()) {
43 if (p.val == val) {
44 return p;
45 }
46 }
47 return defaultPermission;
48 }
49}
Note: See TracBrowser for help on using the repository browser.