* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/**
* A Class that understands the AAF format of Permission (name/type/action)
* or String "name|type|action"
- *
+ *
* @author Jonathan
*
*/
private static final List<String> NO_ROLES;
protected String ns,type,instance,action,key;
private List<String> roles;
-
+
static {
NO_ROLES = new ArrayList<>();
}
}
this.roles = roles==null?NO_ROLES:roles;
}
-
+
/**
* Match a Permission
* if Permission is Fielded type "Permission", we use the fields
* otherwise, we split the Permission with '|'
- *
+ *
* when the type or action starts with REGEX indicator character ( ! ),
* then it is evaluated as a regular expression.
- *
+ *
* If you want a simple field comparison, it is faster without REGEX
*/
public boolean match(Permission p) {
aafInstance = ap.getInstance();
aafAction = ap.getAction();
} else {
- // Permission is concatenated together: separated by
+ // Permission is concatenated together: separated by
String[] aaf = Split.splitTrim('|', p.getKey());
switch(aaf.length) {
case 1:
case 3:
aafNS = aaf[0];
aafType = aaf[1];
- aafInstance = aaf[2];
+ aafInstance = aaf[2];
aafAction = "*";
break;
default:
aafNS = aaf[0];
aafType = aaf[1];
- aafInstance = aaf[2];
+ aafInstance = aaf[2];
aafAction = aaf[3];
break;
}
public String getFullType() {
return ns + '.' + type;
}
-
+
public String getInstance() {
return instance;
}
-
+
public String getAction() {
return action;
}
-
+
public String getKey() {
return key;
}
public String toString() {
return "AAFPermission:" +
"\n\tNS: " + ns +
- "\n\tType: " + type +
+ "\n\tType: " + type +
"\n\tInstance: " + instance +
"\n\tAction: " + action +
"\n\tKey: " + key;