Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.com.ec.domain.model.tipos;

import br.com.ec.core.util.VerificadorUtil;

public enum TipoPeriodoConsulta {

        ULTIMOS_7_DIAS("E", "ÚLTIMOS 7 DIAS", 7),
        ULTIMOS_15_DIAS("Q", "ÚLTIMOS 15 DIAS", 15),
        ULTIMOS_30_DIAS("T", "ÚLTIMOS 30 DIAS", 30),
        ULTIMOS_60_DIAS("S", "ÚLTIMOS 60 DIAS", 60),
        ULTIMOS_90_DIAS("N", "ÚLTIMOS 90 DIAS", 90),
        MES_ATUAL("M", "MÊS ATUAL", null),
        PERIODO_ESPECIFICO("P", "PERÍODO ESPECÍFICO", null);
       
        private String tipo;
        private String descricao;
        private Integer quantidadeEmDias;

        private TipoPeriodoConsulta(String tipo, String descricao, Integer quantidadeEmDias) {
                this.tipo = tipo;
                this.descricao = descricao;
                this.quantidadeEmDias = quantidadeEmDias;
        }
       
        public String getDescricao() {
                return descricao;
        }
       
        public String getValor() {
                return tipo;
        }
       
        public Integer getQuantidadeEmDias() {
                return quantidadeEmDias;
        }
       
        public static TipoPeriodoConsulta parse(String tipo) {
                for (TipoPeriodoConsulta item : TipoPeriodoConsulta.values()) {
                        if (item.getValor().equals(tipo)) {
                                return item;
                        }
                }
                return null;
        }
       
        public static TipoPeriodoConsulta parse(Integer quantidadeEmDias) {
                for (TipoPeriodoConsulta item : TipoPeriodoConsulta.values()) {
                        if (VerificadorUtil.naoEstaNulo(item.getQuantidadeEmDias())) {
                                if (item.getQuantidadeEmDias().equals(quantidadeEmDias)) {
                                        return item;
                                }
                        }
                }
                return null;
        }

}