dea*_*mon 9 java enums abstract-class
我编写了一个应该依赖枚举的库,但实际的枚举应该由我的库的用户定义.
在以下示例中,该authorize
方法需要枚举类型的参数Permission
.
acl.authorize(userX, Permission.READ, Permission.WRITE)
Run Code Online (Sandbox Code Playgroud)
我的库应该能够处理库用户定义的任意权限.但是如果没有Permission
枚举我就无法编译我的库.所以我需要类似的东西
abstract enum Permission
Run Code Online (Sandbox Code Playgroud)
在我的图书馆.有没有解决方法来做到这一点?
Ste*_*een 21
我会使用枚举然后实现的接口.有点像
public interface PermissionType{}
Run Code Online (Sandbox Code Playgroud)
例如,客户端将使用它来定义诸如的枚举
public enum Permission implements PermissionType
[...]
Run Code Online (Sandbox Code Playgroud)
然后您的API将使用该PermissionType
类型接受参数