private static final String DIGITO_CAIXA = "0";
@Override
public String geraCodigoDeBarrasPara(Boleto boleto) {
Emissor emissor = boleto.getEmissor();
String carteiraDoEmissor = emissor.getCarteira();
StringBuilder campoLivre = new StringBuilder();
if (carteiraDoEmissor.equals("1")) {
campoLivre.append(carteiraDoEmissor);
campoLivre.append(leftPadWithZeros(emissor.getContaCorrente(), 6));
campoLivre.append(getNossoNumeroDoEmissorFormatado(emissor));
}
else if (carteiraDoEmissor.equals("2")) {
String nossoNumeroCompleto = getNossoNumeroDoEmissorFormatado(emissor);
campoLivre.append(leftPadWithZeros(emissor.getContaCorrente(), 6));
campoLivre.append(emissor.getDigitoContaCorrente());
campoLivre.append(nossoNumeroCompleto.substring(2, 5));
campoLivre.append(nossoNumeroCompleto.substring(0, 1));
campoLivre.append(nossoNumeroCompleto.substring(5 ,8));
campoLivre.append(nossoNumeroCompleto.substring(1, 2));
campoLivre.append(nossoNumeroCompleto.substring(8));