package br.com.caelum.stella.inwords;
import java.util.Locale;
/**
* Representa o formato para números utilizando a moeda de acordo com o país
* passado por parâmetro.
*
* @author <a href="mailto:hprange@gmail.com">Henrique Prange</a>
*/
public class FormatoDeMoeda implements FormatoDeExtenso {
private final FormatoDeExtenso formato;
public FormatoDeMoeda(Locale locale) {
if (Locale.US.equals(locale)) {
formato = new FormatoDeDolar();
} else if (Messages.LOCALE_PT_BR.equals(locale)){
formato = new FormatoDeReal();
} else {
String pais = locale.getDisplayCountry(Messages.LOCALE_PT_BR);
throw new IllegalArgumentException("Não foi possível determinar a moeda para o país " + pais);
}
}
@Override
public String getUnidadeDecimalNoSingular() {
return formato.getUnidadeDecimalNoSingular();
}
@Override
public String getUnidadeDecimalNoPlural() {
return formato.getUnidadeDecimalNoPlural();
}
@Override
public String getUnidadeInteiraNoSingular() {
return formato.getUnidadeInteiraNoSingular();
}
@Override
public String getUnidadeInteiraNoPlural() {
return formato.getUnidadeInteiraNoPlural();
}
@Override
public int getCasasDecimais() {
return formato.getCasasDecimais();
}
}