Skip to content

Commit 16ced48

Browse files
authored
feat: improve removePolicy and removePolicies in CachedEnforcer (#446)
1 parent 769694f commit 16ced48

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/main/java/org/casbin/jcasbin/main/CachedEnforcer.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,10 @@ public void loadPolicy() {
166166
* @param params The parameters of the policy to be removed.
167167
* @return True if the policy was removed, false otherwise.
168168
*/
169+
@Override
169170
public boolean removePolicy(String... params){
170171
if (enableCache.get()) {
171-
String key = getKey(params);
172+
String key = getKey((Object[]) params);
172173
if (key != null) {
173174
cache.delete(key);
174175
}
@@ -193,6 +194,23 @@ public boolean removePolicies(List<List<String>> rules) {
193194
return super.removePolicies(rules);
194195
}
195196

197+
/**
198+
* Removes multiple policies from the enforcer.
199+
*
200+
* @param rules The list of policies to be removed.
201+
* @return True if the policies were removed, false otherwise.
202+
*/
203+
@Override
204+
public boolean removePolicies(String[][] rules) {
205+
if (rules != null && enableCache.get()) {
206+
for (String[] rule : rules) {
207+
String key = getKey((Object[]) rule);
208+
cache.delete(key);
209+
}
210+
}
211+
return super.removePolicies(rules);
212+
}
213+
196214
/**
197215
* Retrieves a cached result based on the key.
198216
*

0 commit comments

Comments
 (0)