我需要在生產環境中隱藏一些菜單選項,但不在開發中。如何更改Spring的枚舉屬性?
我實現了這個像這樣的枚舉:
public enum Functionality {
FUNCTION_1(true),
FUNCTION_2,
FUNCTION_3(true);
private boolean usable;
Functionality() {
this(false);
}
Functionality(boolean usable) {
this.usable = usable;
}
public boolean isUsable() {
return usable;
}
}
然後,當我需要顯示菜單選項,我檢查該功能是否需要顯示。
所以我需要能夠改變可用布爾當環境是發展。但在春季我找不到任何方法。
你知道一種方式來做這樣的事嗎?
該語言中沒有指定enum值必須是不可變的。這是一個很好的設計決策和普遍接受的最佳實踐,但不是必需的。 – 2011-05-11 09:19:57
你絕對可以改變一個枚舉的狀態。你只需要在上面的代碼中添加一個setUsable方法。 – 2011-05-11 09:26:45
@ Joachim Sauer&@Thijs Wouters:對於誤會,抱歉,因爲枚舉是單例,所以最好讓它不變。 – blob 2011-05-11 09:30:12