2013-05-10 50 views
2

我有一個AutoBean類型GetGenericQuerySources在AutoBean上使用清單

GetGenericQuerySources看起來是這樣的:

public class GetGenericQuerySources implements Serializable, 
    GetGenericQuerySourcesInt { 
    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 

    public boolean queriesIsCurrent; 

    public String seUId; 

    // Sources 
    public int fLsId; 
    public String where; 
    public List<Integer> filterBLnId; 
    public List<List<String>> filterValues; 
    public List<String> operators; 
    ... 
} 

GetGenericQuerySourcesInt的是,我使用的接口。 GetGenericQuerySources implements GetGenericQuerySourcesInt這就是我用AutoBean包裝的東西。

public interface GetGenericQuerySourcesInt { 

    public boolean isQueriesIsCurrent(); 

    public void setQueriesIsCurrent(boolean queriesIsCurrent); 

    public String getSeUId(); 

    public void setSeUId(String seUId); 

    public int getfLsId(); 

    public void setfLsId(int fLsId); 
    ... 
} 

目前我初始化和填充列表如下:

GetGenericQuerySourcesInt logicalNamesQryObj = bean.as(); 

    ... 

    logicalNamesQryObj.setQueriesIsCurrent(queriesIsCurrent); 
    logicalNamesQryObj.setQueryId(currentQuery.getQId()); 
    logicalNamesQryObj.setParameterNames(new ArrayList<String>()); 
    logicalNamesQryObj.setParameterValues(new ArrayList<String>()); 

我怎樣才能在GetGenericQuerySources初始化列表,這樣,我仍然能夠與AutoBean使用它們呢?

目前我將列表初始化爲new ArrayList<T>(),然後正常填充ArrayList,但是當我嘗試訪問AutoBean中的列表時,我得到一個NPE。

從我理解這是因爲AutoBean處理列表(或缺乏)的方式。

我試圖初始化列表到ArrayList,LinkedListVector,但無濟於事。

我試着在AutoBean上讀here,但文檔基本上不存在。

如果有人能指出我的一些更詳細的文件的方向或如果你能幫我解決我的問題,將不勝感激。

+0

什麼是MyObjectInterface - 是您正在使用的* actual * autobean接口?你如何初始化這些列表? – 2013-05-10 14:34:30

+0

@ColinAlworth請參閱我的編輯。 – 2013-05-13 07:02:15

回答

2

這是一個已知的問題。您需要用自己的AutoBean將項目包裝在List中。

請參閱this answer