2015-10-05 52 views
1

一直在尋找簡單的XML,因爲我的項目需求是相對基礎的,所以得到一個總體思路,但是當涉及到沒有公共構造函數的類的時候,法,或者工廠對象,讓他們,通用例如:簡單框架和工廠方法

public class Foo 
{ 
    private static HashMap<String,Foo> fooTypes = new HashMap<String,Foo>(); 

    private String name; 
    private int val; 
    private Foo(String name, int val) 
    { 
     // do things 
    } 

    public static Foo getFoo(String name) 
    { 
     // Store deep copy of fooTypes.get(name) into foo 
     return fooResult; 
    } 

    public static void addFoo(String name) 
    { 
     fooTypes.put(name, new Foo(name,0)); 
    ] 
} 

有沒有辦法在簡單的XML註釋這爲它知道讀取XML對象時調用的getFoo,還是我的運氣?我想我可以轉換所有的代碼來避免工廠模式,但這並不覺得這是正確的答案。

回答

0

看@Resolve和@Replace他們可以調用類的方法來生成實例。

+0

它們都在Persistor已經嘗試查找構造函數之後執行。除非我在這裏丟失了一些東西,否則看起來似乎沒有任何東西可以填充,因爲沒有公共構造函數可用,除非可能使用Converter完全覆蓋正常的序列化/反序列化過程。這開始迅速使框架沒有太多的替代更長的XML轉換代碼... – Vigilant