package com.softgraf.model.tabelas;

import java.util.Collections;
import java.util.Comparator;

import com.softgraf.model.abstrato.AbstractGenericTableModel;
import com.softgraf.model.vo.Cliente;

// 67
public class TableModelCliente extends AbstractGenericTableModel<Cliente> {

	private static final long serialVersionUID = 1L;

	public TableModelCliente() {
		super(Cliente.getCampos());
	}
	
	// máximo de campos para usar
	public TableModelCliente(int maxCampos) {
		super(Cliente.getCampos().subList(0, maxCampos));
	}
	
	@Override
	public void ordenarPorID() {
		Collections.sort(getListaVO(), new Comparator<Cliente>() {
			public int compare(Cliente o1, Cliente o2) {
				return o1.getIdCliente() - o2.getIdCliente();
			};
		});
		
		fireTableDataChanged();
	}

	@Override
	public void ordenarPorNome() {
		Collections.sort(getListaVO(), new Comparator<Cliente>() {
			public int compare(Cliente o1, Cliente o2) {
				return o1.getNome().compareToIgnoreCase(o2.getNome());
			};
		});
		
		fireTableDataChanged();
	}
}