Skip to content

Commit 0068a7f

Browse files
committed
Don't create waste objects when setting is off
1 parent 7e3e1b9 commit 0068a7f

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

cloud-core/src/main/java/org/incendo/cloud/CommandManager.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -411,12 +411,16 @@ public boolean hasCapability(final @NonNull CloudCapability capability) {
411411
final @NonNull Permission permission
412412
) {
413413
try {
414-
this.threadLocalPermissionCache.get().second().incrementAndGet();
414+
if (this.settings.get(ManagerSetting.REDUCE_REDUNDANT_PERMISSION_CHECKS)) {
415+
this.threadLocalPermissionCache.get().second().incrementAndGet();
416+
}
415417
return this.testPermission_(sender, permission);
416418
} finally {
417-
final Pair<Map<Pair<C, Permission>, PermissionResult>, AtomicInteger> pair = this.threadLocalPermissionCache.get();
418-
if (pair.second().getAndDecrement() == 1) {
419-
pair.first().clear();
419+
if (this.settings.get(ManagerSetting.REDUCE_REDUNDANT_PERMISSION_CHECKS)) {
420+
final Pair<Map<Pair<C, Permission>, PermissionResult>, AtomicInteger> pair = this.threadLocalPermissionCache.get();
421+
if (pair.second().getAndDecrement() == 1) {
422+
pair.first().clear();
423+
}
420424
}
421425
}
422426
}

0 commit comments

Comments
 (0)