package br.com.caelum.stella.feriado.entity; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import br.com.caelum.stella.feriado.enums.Lugares; import br.com.caelum.stella.feriado.util.DateUtil; import br.com.caelum.stella.feriado.util.Ordernador; import br.com.caelum.stella.feriado.util.XMLUtil; @XmlRootElement(name="Feriados") public class FeriadosNacionais { private List<Feriado> feriados = new ArrayList<Feriado>(); @XmlElement(name = "Feriado", type = Feriado.class) public List<Feriado> getFeriados() { return feriados; } @SuppressWarnings("unused") private void setFeriados(List<Feriado> feriados) { this.feriados = feriados; } public static List<Feriado> doAno(int ano){ List<Feriado> feriados = XMLUtil.xmlToObject(FeriadosNacionais.class,ano,Lugares.Brasil).getFeriados(); feriados.addAll(FeriadosMoveis.doAno(ano)); Collections.sort(feriados, Ordernador.DATA_CRESCENTE); return feriados; } public static List<Feriado> doAno(){ return doAno(DateUtil.getAno(DateUtil.hoje().getTime())); } public static boolean ehFeriado(Date data){ int ano = DateUtil.getAno(data); for(Feriado f : doAno(ano)){ if(DateUtil.mesmoDia(data, f.getData())){ return true; } } return false; } }