JFace Databinding不支持泛型,因此它不是特別類型安全的。顯然它永遠不會,因爲他們希望保留Java 1.3的支持。支持泛型和SWT/JFace的數據綁定庫?
JGoodies自2.0.0起支持泛型。有沒有人將JGoodies 2移植到SWT/JFace?還是有另一個圖書館允許這兩個?
JFace Databinding不支持泛型,因此它不是特別類型安全的。顯然它永遠不會,因爲他們希望保留Java 1.3的支持。支持泛型和SWT/JFace的數據綁定庫?
JGoodies自2.0.0起支持泛型。有沒有人將JGoodies 2移植到SWT/JFace?還是有另一個圖書館允許這兩個?
不幸的是,JFace綁定框架是無類型的,這就是爲什麼我不使用它。
假設'person'是一個帶有getName()方法的pojo。
bindingContext.bindValue(SWTObservables.observeText(name, SWT.Modify), PojoObservables.observeValue(person, "name"));
如果你改變了getName()方法,以getEntireName(),編譯器不會趕上你任何東西 - 你會得到一個運行時異常。
我在我的模型和JFace之間使用了一個控制器,並以這種方式處理它。我不願意放棄打字。
你觀察到的是一個JavaBeans規範本身的弱點。在Java引入不動產支持之前,POJO和JavaBeans將會受到這個重構問題的困擾。這可能永遠不會發生。 – qualidafial 2010-12-09 22:37:47
JFace Databinding不支持泛型,所以它不是特別類型安全的。顯然它永遠不會,因爲他們希望保留Java 1.3的支持。
只是想提供說明。展望未來,我們將針對Java 5並計劃重新使用API來使用泛型。
- 馬修(項目提交者)
現在這是個好消息! – 2010-12-10 06:47:18
發生這種情況的可能性有多大? – Eugene 2013-06-20 23:36:23
不幸的是,我在Eclipse數據綁定方面的工作已經下降了。在這個時候,我不能說什麼時候,甚至是否會再次積極參與。 – qualidafial 2013-07-03 15:39:15
另一個相關的問題:我最近需要和版本org.eclipse.core.databinding.property的.observable與仿製藥,所以我加了他們。在那裏可用:https://github.com/jppellet/org.eclipse.core.databinding.property和https://github.com/jppellet/org.eclipse.core.databinding.observable – 2012-02-21 12:47:00