Filtrar registros em JME, quando o framework floggy é utilizado para a persistência de dados é muito simples. Floggy oferece a interface “Filter” para esta tarefa.

A interface “Filter” de floggy possui o método “matches”, neste é possível definir o mecanismo que examina um objeto para ver se ele corresponde com o critério de filtro desejado.

No post Persistência de dados em JME com floggy, criei a classe “VeiculoDAO” que realiza as operações de CRUD de objetos “Veiculo”. A classe “VeiculoDAO” possui um método (obterLista) de conveniência linha 66, que espera como parâmetro um objeto “Filter” para que os registros de veículos sejam retornados de acordo com os filtros informados. Vou utilizar o método citado como exemplo para este post.

Vou criar um filtro para que os veículos do modelo “Sedam” sejam retornados.

final String VEICULO_SEDAM = "sedam";
Filter filter = new Filter() {
	public boolean matches(Persistable object) {
		Veiculo v = (Veiculo)object;
		return v.getModelo().equalsIgnoreCase(VEICULO_SEDAM);
	}
};

Para utilizar este filtro, basta instanciar a classe “VeiculoDAO”, chamar o método “obterLista” e informar o filtro criado como parâmetro.

VeiculoDAO veiculoDAO = new VeiculoDAO();
veiculoDAO.obterLista(filter);

Desta maneira, para cada registro de veículo que floggy encontrar, o método “matches” do objeto da interface “Filter” criado, será executado e a descrição do modelo de cada veículo será verificado se é igual a “Sedam” linha 5. Os registros que obedecerem ao critério definido serão incluídos na relação de objetos retornados, caso contrário o objeto é eliminado.

Por enquanto é isso, até o próximo post.

Deixe um comentário

Campos obrigatórios são marcados *

Post Navigation