stella-boleto/src/main/java/br/com/caelum/stella/boleto/Beneficiario.java
return leftPadWithZeros(agencia, 4);
String getAgenciaFormatada()
stella-boleto/src/main/java/br/com/caelum/stella/boleto/Boleto.java
return beneficiario;
Beneficiario getBeneficiario()
Beneficiario beneficiario
stella-boleto/src/main/java/br/com/caelum/stella/boleto/Boleto.java
this.beneficiario = beneficiario;
		return this;
Boleto comBeneficiario(Beneficiario beneficiario)
stella-boleto/src/main/java/br/com/caelum/stella/boleto/Endereco.java
return logradouro
				+ bairro != null ? ", " + bairro : ""
				+ cep != null ? " " + cep : ""
				+ cidade != null ? " - " + cidade : ""
				+ uf != null ? " - " + uf : "";
String getEnderecoCompleto()
stella-boleto/src/main/java/br/com/caelum/stella/boleto/Endereco.java
return this.getEnderecoCompleto();
String toString()
Emissor emissor
stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/Bradesco.java
return leftPadWithZeros(emissor.getContaCorrente(), 7);
	public String getCarteiraDoEmissorFormatado(Emissor emissor) {	
		return leftPadWithZeros(emissor.getCarteira(), 2);
	public String getNossoNumeroDoEmissorFormatado(Emissor emissor) {
		return leftPadWithZeros(emissor.getNossoNumero(), 11);
String getContaCorrenteDoEmissorFormatado(Emissor emissor)
Emissor emissor
stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/Caixa.java
return leftPadWithZeros(emissor.getCarteira(), 2);
	public String getContaCorrenteDoEmissorFormatado(Emissor emissor) {
		return leftPadWithZeros(emissor.getContaCorrente(), 5);
String getCarteiraDoEmissorFormatado(Emissor emissor)
Emissor emissor
stella-boleto/src/main/java/br/com/caelum/stella/boleto/bancos/Santander.java
return leftPadWithZeros(emissor.getCarteira(), 3);
	public String getContaCorrenteDoEmissorFormatado(Emissor emissor) {
		return leftPadWithZeros(emissor.getContaCorrente(), 7);
	public String getNossoNumeroDoEmissorFormatado(Emissor emissor) {
		if (emissor.getDigitoNossoNumero() != null) {
			return leftPadWithZeros(emissor.getNossoNumero()+emissor.getDigitoNossoNumero(), 13);
		return leftPadWithZeros(emissor.getNossoNumero(), 13);
	public String getAgenciaECodigoCedente(Emissor emissor) {
		builder.append(leftPadWithZeros(emissor.getAgencia(), 5));
		builder.append("/").append(getNumeroConvenioFormatado(emissor));
	public String getNossoNumeroECodDocumento(Boleto boleto) {
		Emissor emissor = boleto.getEmissor();
		String nossoNumero = getNossoNumeroDoEmissorFormatado(emissor);
	public String getNumeroConvenioFormatado(Emissor emissor) {
		return leftPadWithZeros(emissor.getNumeroConvenio(), 7);
	
	public String calcularDigitoVerificadorNossoNumero(Emissor emissor) {
		if (emissor == null || emissor.getNossoNumero() == null || emissor.getNossoNumero().length() > 12) {
			throw new IllegalArgumentException("Nosso Número inválido: " + emissor.getNossoNumero());
String getCarteiraDoEmissorFormatado(Emissor emissor)
stella-boleto/src/test/java/br/com/caelum/stella/boleto/bancos/CaixaTest.java
Emissor emissor = Emissor.novoEmissor().comCodigoOperacao("2");
		String numeroFormatado = this.banco.getCodigoOperacaoFormatado(emissor);
		assertEquals(3, numeroFormatado.length());
		assertEquals("002", numeroFormatado);
void codOperacaoDeveTerTresDigitos()