2014-06-26 53 views
0

我有一個可顯示枚舉的接口叫做IDisplayEnum。我將它用於幾個wicket組件,我打電話給display()並獲得枚舉的正確表示。要創建一個DisplayEnumLabel我有這樣的代碼:擴展Serializable接口有什麼影響

public class DisplayEnumLabel extends Label { 
    public DisplayEnumLabel(String id, IModel<? extends IDisplayEnum> model) { 
     super(id, model); 
    } 
} 

然後我創建一個使用:

add(new DisplayEnumLabel(new PropertyModel(object,"fieldname"))); 

現在有時候我想做的Model.of(T object)時不需要PropertyModel但這裏T應該延伸序列化,所以我的枚舉「不適合」。我可以通過Serailizable來解決這個問題。

現在我的問題是,這是什麼影響?我有一個約20個枚舉實現這個接口,它用了很多。這是否會影響性能,安全性或任何常見的Serializable接口缺點?

回答

1

我不知道實現Serializable的任何負面影響。

無論如何,Wicket組件樹引用的所有內容都必須是可序列化的。 您可以通過使用IDetachableModels解決此問題,但Model保留對包裝對象的直接引用。

相關問題