package br.com.caelum.stella.type;
import static br.com.caelum.stella.type.Estado.*;
import java.util.EnumSet;
import java.util.Set;
/**
* Representa as divisões regionais do território brasileiro.
*
* @author <a href="mailto:hprange@gmail.com">Henrique Prange</a>
*/
public enum Regiao {
CENTRO_OESTE(DF, GO, MT, MS),
NORDESTE(AL, BA, CE, MA, PB, PE, PI, RN, SE),
NORTE(AC, AM, AP, PA, RO, RR, TO),
SUDESTE(ES, MG, RJ, SP),
SUL(PR, RS, SC);
private final Set<Estado> estados;
private Regiao(Estado... estados) {
this.estados = EnumSet.of(estados[0], estados);
}
/**
* A lista de estados que compõem essa região.
*
* @return Retorna uma lista dos estados que compõem essa região.
*/
public Set<Estado> estados() {
return estados;
}
/**
* Verifica se o estado informado faz parte dessa região.
*
* @param estado Um estado do território brasileiro.
* @return Retorna {@code true} se o estado fizer parte dessa região ou {@code false} caso contrário.
*/
public boolean compostaPor(Estado estado) {
return estados().contains(estado);
}
}