O que esta acontecendo de errado? No tutorial manda sobrescrever o metodo load com a anotação Override, mas fica com erro de The method load(int, int, String, SortOrder, MappingChange.Map) of type LivroDataModel must override or implement a supertype method
package br.com.caelum.livraria.modelo;
import java.util.List;
import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortOrder;
import com.sun.javafx.collections.MappingChange.Map;
import br.com.caelum.livraria.dao.DAO;
public class LivroDataModel extends LazyDataModel<Livro> {
/**
*
*/
private static final long serialVersionUID = 2948232237230849780L;
DAO<Livro> dao = new DAO<Livro>(Livro.class);
public LivroDataModel() {
super.setRowCount(dao.quantidadeDeElementos());
}
public List<Livro> load(int inicio, int quantidade, String campoOrdenacao, SortOrder sentidoOrdenacao, Map<String, Object> filtros) {
return dao.listaTodosPaginada(inicio, quantidade);
}
}
<p:dataTable id="tabelaLivros" value="#{livroBean.livroDataModel}"
var="livro" paginator= "true" rows="5" lazy="true">
<!--o atributo headerText subtitui o f:facet -->
<f:facet name="header">Livros</f:facet>
<!-- Existem outros MatchModes como endsWidth, contains, exact, equals, lte (menos ou igual) e gte (maior ou igual) -->
<p:column headerText="Titulo" sortBy="#{livro.titulo}" filterBy="#{livro.titulo}" filterMatchMode="contains" >
<h:outputText value="#{livro.titulo}" />
</p:column>
<p:column headerText="ISBN" sortBy="#{livro.isbn}" filterBy="#{livro.isbn}" filterMatchMode="contains" >
<h:outputText value="#{livro.isbn}" />
</p:column>
<p:column headerText="Preço" sortBy="#{livro.preco}" filterBy="#{livro.preco}" filterFunction="#{livroBean.precoEhMenor}" >
<h:outputText value="#{livro.preco}">
<f:convertNumber type="currenty" pattern="R$ 0.00"
currencySymbol="R$" locale="pt_BR" />
</h:outputText>
</p:column>
<p:column headerText="Data" sortBy="#{livro.dataLancamento.time}" filterBy="#{livro.dataLancamento.time}" filterMatchMode="contains">
<h:outputText value="#{livro.dataLancamento.time}">
<f:convertDateTime pattern="dd/MM/yyy HH:mm" />
<!-- timeZone="America/Sao_Paulo" -->
</h:outputText>
</p:column>
<!--CARREGANDO DADOS PARA O TEXT BOX E PERMITE ALTERAÇÂO -->
<p:column>
<f:facet name="header">Alterar</f:facet>
<h:commandLink value="Alterar">
<f:setPropertyActionListener target="#{livroBean.livro}" value="#{livro}" /> <!-- esta tag -->
</h:commandLink>
</p:column>
<!--EFETUA REMOÇÃO DO LIVRO -->
<p:column >
<f:facet name="header">Remover</f:facet>
<h:commandLink value="remove" action="#{livroBean.remover(livro)}"></h:commandLink>
</p:column>
</p:dataTable>