quarta-feira, 16 de julho de 2014

Java: Ordenar coleção por múltiplas colunas


public class Licenca implements Serializable, Comparable<Licenca>{
@OneToOne
private Patrimonio patrimonio;

@Override
public int compareTo(SoftwareLicenca o) {
int compareResult = -1;
int compareResult1 = -1;

                // Valida
if( (patrimonio != null && patrimonio.getUsuario().getUnidadeOperacional()) &&
(o != null &&o.getUsuario().getUnidadeOperacional())  ){

compareResult = patrimonio.getUnidadeOperacional().getNome().compareTo(o.getPatrimonio().getUnidadeOperacional().getNome());
compareResult1 = patrimonio.getUsuario().getNome().compareTo(o.getPatrimonio().getUsuario().getNome());

return 0 == compareResult ? compareResult1 : compareResult;
}
return compareResult;
}

}


// Ordenando
public List<Licenca> getLicencas() {
ArrayList<Licenca> l = new ArrayList<Licenca>();
if(licencas != null){
l.addAll(this.licencas);
Collections.sort(p);
}
return p;

}

Nenhum comentário:

Postar um comentário