Esta implementação TableDataProvider empacota o acesso a uma matriz de objetos JavaBeans. Dependendo se a classe na matriz é um Objeto Java ou um objeto JavaBeans, as chaves de campo do provedor correspondem às propriedades do objeto JavaBeans ou aos campos de membro público do Objeto Java na lista. Se a classe na lista não for um objeto JavaBeans, você deve definir a propriedade includeFields para tornar acessíveis como campos as várias da instância pública da classe.
Um uso comum deste provedor de dados é empacotar uma matriz e, em seguida, vincular o componente Tabela à mesma, como é possível fazer com uma tabela de banco de dados.
Este provedor de dados determina quais campos estão disponíveis, examinando o tipo da matriz de dados do componente adjacente. Se você passar uma matriz que seja do tipo Object[], com o código de inicialização como o seguinte, os campos do tipo de objeto real não estarão disponíveis:
Map map = ...;
return new ObjectArrayDataProvider(map.values().toArray());
Se você souber que os seus dados são do tipo Foo, use um código semelhante ao seguinte:
Map map = ...;
return new ObjectArrayDataProvider
((Foo[]) map.values().toArray(new Foo[0]));
Este provedor de dados é uma das várias implementações TableDataProvider que possuem a noção de um cursor que pode ser posicionado em uma linha particular nos dados subjacentes. TableDataProvider fornece acesso aleatório, onde você especifica uma FieldKey e uma RowKey e acesso baseado no cursor, onde você especifica uma FieldKey e a RowKey é determinado pelas configurações atuais do cursor.