我有一个像吹一样的枚举类。我正在使用JAX-WS生成WSDL,但是我想对客户端隐藏DELETED枚举。有没有办法做到这一点?我尝试了@XmlTransient,但没有用。
@SuppressWarnings("restriction")
@XmlEnum(String.class)
public enum StatusEnum {
ACTIVE,
INACTIVE,
DELETED,
}
最佳答案
从我的角度来看,如果出于某种原因您想从客户端隐藏一些枚举条目,则实际上有两个枚举,它们本质上是不同的-“内部”和“客户端”。您可以在枚举代码中轻松地从另一个权利中产生一个:
public enum StatusEnum {
ACTIVE(ClientStatusEnum.ACTIVE),
INACTIVE(ClientStatusEnum.INACTIVE),
DELETED(ClientStatusEnum.HIDDEN);
private ClientStatusEnum clientStatusEnum;
StatusEnum(ClientStatusEnum cse) {
this.clientStatusEnum = cse;
}
public ClientStatusEnum getClientStatusEnum() {
return clientStatusEnum;
}
}
@XmlEnum(String.class)
public enum ClientStatusEnum {
ACTIVE,
INACTIVE,
HIDDEN;
}