我有一个多个枚举正在实现的接口,即
public interface MinorCodes {
public abstract int code();
public abstract String description();
}
public enum IdentityMinorCodes implements MinorCodes {
IDENTITY_UPLOAD_PICTURE_CODE(1, "Error while trying to upload a picture."),
}
现在我想要一个自定义注释,其值类型为这些具体枚举值之一,即
public @interface PokenService {
MinorCodes[] exceptions();
}
但当然我不能在这里返回一个界面。
有人知道任何解决方案或解决方法吗?
提前致谢。
答案 0 :(得分:2)
您可以创建一个包含所有MinorCodes枚举值的附加枚举:
public enum MinorCodesWrapper {
IDENTITY_UPLOAD_PICTURE_CODE(IdentityMinorCodes.IDENTITY_UPLOAD_PICTURE_CODE),
SOME_CODE(AnotherMinorCodes.SOME_CODE);
private final MinorCodes _wrapped;
MinorCodesWrapper(MinorCodes wrapped) {
_wrapped = wrapped;
}
public MinorCodes getWrapped() {
return _wrapped;
}
}
public @interface PokenService {
MinorCodesWrapper[] exceptions();
}
不漂亮,但有效;)