【发布时间】:2020-06-18 16:12:28
【问题描述】:
假设我有一堂课:
public enum Enums
{
// about thousand different Enums
}
我还有一个用户登录的类,根据他是管理员还是普通用户,用户可以访问有限的枚举列表。我知道我可以从类中获取所有枚举的完整列表,但是在 Enums 类不知道用户信息的情况下,按照某些标准过滤这些枚举的优雅方法是什么?
编辑: 这是今天的样子:
@GET
@RolesAllowed({ADMIN})
@Path("/test")
public Response reply(@Auth User user)
{
JSONObject jsonObject = new JSONObject();
jsonObject.put("enums", Arrays.toString(Enums.values()));
return Response.ok(jsonObject.toJSONString()).build();
}
我将返回 1000 多个事件的完整列表,而管理员应该只能看到有限的数量。
【问题讨论】:
-
一种选择是创建一个类来控制对枚举的访问。一个更好的例子可能会帮助我们帮助您。
-
@user7 如果有帮助,我添加了一些细节
-
您在哪里维护哪些枚举实例是管理员特定的?
-
无处自动取款机。这就是为什么我在考虑是否有一种方法可以将其抽象出来,而无需将这些用户特定的详细信息添加到枚举类和过滤中。
-
这能回答你的问题吗? Finding enum value with Java 8 Stream API
标签: java