该 TableDataProvider 实现包装对 Java 对象的 java.util.List 的访问。根据列表中的类是简单 Java 对象还是 JavaBeans 对象,数据提供器的字段键与 JavaBeans 对象的属性相对应,或者与列表中 Java 对象的公共成员字段相对应。如果列表中的类不是 JavaBeans 对象,则必须设置 includeFields 属性以使类的公共实例变量可作为字段进行访问。
此数据提供器是若干个 TableDataProvider 实现之一,这些实现使用光标概念,可以将光标放在基础数据中的特定行上。TableDataProvider 提供了随机访问(其中指定了 FieldKey 和 RowKey)以及基于光标的访问(其中指定了 FieldKey,RowKey 是由光标的当前设置决定的)。
该数据提供器还实现了 TransactionalDataProvider 语义,这意味着在调用 commitChanges() 之前,将缓存对现有字段所做的所有更新以及插入和删除的行。进行调用后,从该实例中获取的任何 RowKey 都是无效的,必须重新进行获取。
setObject(Object) 方法交换出这些对象。要使此数据提供器保持可序列化,则包含的对象也必须为可序列化。