使用AutoBean列表

时间:2013-05-10 12:53:48

标签: list gwt autobean

我的AutoBean类型GetGenericQuerySources

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实现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处理列表(或缺少列表)的方式。

我尝试将列表初始化为ArrayListLinkedListVector,但无济于事。

我尝试在AutoBean上阅读here,但文档基本上不存在。

如果有人能指出我更详细的文档,或者你能帮助我解决我的问题,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

这是一个已知问题。您需要使用自己的AutoBean将项目包装在List中。

请参阅this answer