diff --git a/api/src/main/java/me/lucko/luckperms/api/Group.java b/api/src/main/java/me/lucko/luckperms/api/Group.java index 55f4f1d9f..9e5cdd1e3 100644 --- a/api/src/main/java/me/lucko/luckperms/api/Group.java +++ b/api/src/main/java/me/lucko/luckperms/api/Group.java @@ -28,7 +28,6 @@ package me.lucko.luckperms.api; import me.lucko.luckperms.api.caching.GroupData; import java.util.OptionalInt; -import java.util.concurrent.CompletableFuture; import javax.annotation.Nonnull; @@ -64,13 +63,4 @@ public interface Group extends PermissionHolder { @Override GroupData getCachedData(); - /** - * Refreshes and applies any changes to the cached group data. - * - * @return the task future - * @since 4.0 - */ - @Nonnull - CompletableFuture refreshCachedData(); - } diff --git a/api/src/main/java/me/lucko/luckperms/api/PermissionHolder.java b/api/src/main/java/me/lucko/luckperms/api/PermissionHolder.java index eebda20d7..188920790 100644 --- a/api/src/main/java/me/lucko/luckperms/api/PermissionHolder.java +++ b/api/src/main/java/me/lucko/luckperms/api/PermissionHolder.java @@ -36,6 +36,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.SortedSet; +import java.util.concurrent.CompletableFuture; import java.util.function.Predicate; import javax.annotation.Nonnull; @@ -80,6 +81,15 @@ public interface PermissionHolder { @Nonnull CachedData getCachedData(); + /** + * Refreshes and applies any changes to the cached holder data. + * + * @return the task future + * @since 4.0 + */ + @Nonnull + CompletableFuture refreshCachedData(); + /** * Gets the backing multimap containing every permission this holder has. * diff --git a/api/src/main/java/me/lucko/luckperms/api/User.java b/api/src/main/java/me/lucko/luckperms/api/User.java index 9a2f51447..4c0bb4d49 100644 --- a/api/src/main/java/me/lucko/luckperms/api/User.java +++ b/api/src/main/java/me/lucko/luckperms/api/User.java @@ -28,7 +28,6 @@ package me.lucko.luckperms.api; import me.lucko.luckperms.api.caching.UserData; import java.util.UUID; -import java.util.concurrent.CompletableFuture; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -87,15 +86,6 @@ public interface User extends PermissionHolder { @Override UserData getCachedData(); - /** - * Refreshes and applies any changes to the cached user data. - * - * @return the task future - * @since 4.0 - */ - @Nonnull - CompletableFuture refreshCachedData(); - /** * Refresh and re-assign the users permissions. * diff --git a/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiGroup.java b/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiGroup.java index 9ff598b34..5237813d5 100644 --- a/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiGroup.java +++ b/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiGroup.java @@ -35,7 +35,6 @@ import me.lucko.luckperms.api.Group; import me.lucko.luckperms.api.caching.GroupData; import java.util.OptionalInt; -import java.util.concurrent.CompletableFuture; public final class ApiGroup extends ApiPermissionHolder implements Group { public static me.lucko.luckperms.common.model.Group cast(Group g) { @@ -66,11 +65,6 @@ public final class ApiGroup extends ApiPermissionHolder implements Group { return handle.getCachedData(); } - @Override - public CompletableFuture refreshCachedData() { - return handle.getRefreshBuffer().request(); - } - public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof ApiGroup)) return false; diff --git a/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiPermissionHolder.java b/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiPermissionHolder.java index ff5de82ee..f15483433 100644 --- a/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiPermissionHolder.java +++ b/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiPermissionHolder.java @@ -52,6 +52,7 @@ import java.util.Map; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; +import java.util.concurrent.CompletableFuture; import java.util.function.Predicate; @AllArgsConstructor @@ -77,6 +78,11 @@ public class ApiPermissionHolder implements PermissionHolder { return handle.getCachedData(); } + @Override + public CompletableFuture refreshCachedData() { + return handle.getRefreshBuffer().request(); + } + @Override public ImmutableSetMultimap getNodes() { return handle.getEnduringNodes(); diff --git a/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiUser.java b/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiUser.java index b027ca5b3..37cbd1645 100644 --- a/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiUser.java +++ b/common/src/main/java/me/lucko/luckperms/common/api/delegates/model/ApiUser.java @@ -35,7 +35,6 @@ import me.lucko.luckperms.api.User; import me.lucko.luckperms.api.caching.UserData; import java.util.UUID; -import java.util.concurrent.CompletableFuture; public final class ApiUser extends ApiPermissionHolder implements User { public static me.lucko.luckperms.common.model.User cast(User u) { @@ -85,11 +84,6 @@ public final class ApiUser extends ApiPermissionHolder implements User { return handle.getCachedData(); } - @Override - public CompletableFuture refreshCachedData() { - return handle.getRefreshBuffer().request(); - } - @Override @Deprecated public void refreshPermissions() { diff --git a/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java b/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java index e0ea91b94..afe90801e 100644 --- a/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java +++ b/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java @@ -46,6 +46,7 @@ import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.api.context.ContextSet; import me.lucko.luckperms.api.context.ImmutableContextSet; import me.lucko.luckperms.common.api.delegates.model.ApiPermissionHolder; +import me.lucko.luckperms.common.buffers.BufferedRequest; import me.lucko.luckperms.common.buffers.Cache; import me.lucko.luckperms.common.caching.HolderCache; import me.lucko.luckperms.common.caching.MetaAccumulator; @@ -258,6 +259,8 @@ public abstract class PermissionHolder { */ public abstract HolderCache getCachedData(); + public abstract BufferedRequest getRefreshBuffer(); + /** * Forms a HolderReference for this PermissionHolder. *