1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.cms.security.operations;
35
36 import info.magnolia.cms.security.User;
37
38
39
40
41 public class ConfiguredOperationPermissionDefinition implements OperationPermissionDefinition {
42
43 private AccessDefinition read, write, delete;
44 private AccessDefinition move, add, execute;
45
46 @Override
47 public AccessDefinition getDelete() {
48 return delete;
49 }
50
51 public void setDelete(AccessDefinition delete) {
52 this.delete = delete;
53 }
54
55 @Override
56 public AccessDefinition getWrite() {
57 return write;
58 }
59
60 public void setWrite(AccessDefinition change) {
61 this.write = change;
62 }
63
64 @Override
65 public AccessDefinition getRead() {
66 return read;
67 }
68
69 public void setRead(AccessDefinition read) {
70 this.read = read;
71 }
72
73 @Override
74 public AccessDefinition getMove() {
75 return move;
76 }
77
78 public void setMove(AccessDefinition move) {
79 this.move = move;
80 }
81
82 @Override
83 public AccessDefinition getAdd() {
84 return add;
85 }
86
87 public void setAdd(AccessDefinition add) {
88 this.add = add;
89 }
90
91 @Override
92 public AccessDefinition getExecute() {
93 return execute;
94 }
95
96 public void setExecute(AccessDefinition execute) {
97 this.execute = execute;
98 }
99
100 @Override
101 public boolean canRead(User user) {
102 return hasAccess(this.getRead(), user);
103 }
104
105 @Override
106 public boolean canWrite(User user) {
107 return hasAccess(this.getWrite(), user);
108 }
109
110 @Override
111 public boolean canDelete(User user) {
112 return hasAccess(this.getDelete(), user);
113 }
114
115 @Override
116 public boolean canExecute(User user) {
117 return hasAccess(this.getExecute(), user);
118 }
119
120 @Override
121 public boolean canMove(User user) {
122 return hasAccess(this.getMove(), user);
123 }
124
125 @Override
126 public boolean canAdd(User user) {
127 return hasAccess(this.getAdd(), user);
128 }
129
130 protected boolean hasAccess(AccessDefinition accessDefinition, User user) {
131 return accessDefinition == null ? true : accessDefinition.hasAccess(user);
132 }
133 }
134