package com.rjconsultores.ventaboletos.enums; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public enum RelatorioMovimentacaoBilheteStatusEnum { VENDIDO("Vendido", "VENDIDO"), CANCELADO("Cancelado", "CANCELADO"), DEVOLVIDO("Devolvido", "DEVOLVIDO"), CANCELADO_EMERGENCIAL("Cancelado emergencial", "CANCEC. EMERG"), TROCA("Troca", "TROCA", "TROCA PASSAGEM"), TRANSFERENCIA("Transferência", "TRANSFERIDO", "TRANSFERÊNCIA"), REATIVACAO("Reativação", "CHECKIN REATIVADO", "REATIVADO"), TROCA_TITULARIDADE("Troca de Titularidade", "TITULARIDADE TROCADA", "TROCA TITULARIDADE"), TROCA_POLTRONA("Troca de Poltrona", "POLTRONA ALTERADA", "TROCA POLTRONA"), NO_SHOW("No-Show", "NO-SHOW"), CHECK_IN("Check-in", "CHECK-IN"), ENTREGA("Entrega", "ENTREGUE"), RESERVA("Reserva", "RESERVA", "CONFIRMA RESERVA", "LIBERA RESERVA"); private String descricaoTela; private String statusRelatorio; private List statusRelatorioAnterior; private RelatorioMovimentacaoBilheteStatusEnum(String descricaoTela, String statusRelatorio) { this.descricaoTela = descricaoTela; this.statusRelatorio = statusRelatorio; } private RelatorioMovimentacaoBilheteStatusEnum(String descricaoTela, String statusRelatorio, String... statusRelatorioAnterior) { this.descricaoTela = descricaoTela; this.statusRelatorio = statusRelatorio; if (statusRelatorioAnterior != null) { this.statusRelatorioAnterior = Arrays.asList(statusRelatorioAnterior); } } public String getDescricaoTela() { return descricaoTela; } public String getStatusRelatorio() { return statusRelatorio; } public List getStatusRelatorioAnterior() { return statusRelatorioAnterior; } @Override public String toString() { return this.descricaoTela; } public static List getListaOrdenada() { List listaOrdenada = Arrays.asList(values()); Collections.sort(listaOrdenada, new Comparator() { @Override public int compare(RelatorioMovimentacaoBilheteStatusEnum o1, RelatorioMovimentacaoBilheteStatusEnum o2) { return o1.getDescricaoTela().compareToIgnoreCase(o2.getDescricaoTela()); } }); return listaOrdenada; } }