br.com.caelum.stella.boleto.Banco Maven / Gradle / Ivy
package br.com.caelum.stella.boleto;
import java.io.Serializable;
import java.net.URL;
import br.com.caelum.stella.boleto.bancos.gerador.GeradorDeDigito;
/**
* Interface que define métodos específicos ao funcionamento de cada banco para
* gerar o código de barras e a linha digitável.
*
*
* Infelizmente cada banco funciona de uma maneira diferente para gerar esses
* valores, e as vezes até mudam de funcionamento.
*
* Documentação que pode ser consultada:
*
*
* - http://www.macoratti.net/boleto.htm
* - http://pt.wikipedia.org/wiki/Boleto_bancário
*
*
* Para testes rapidos: http://evandro.net/codigo_barras.html
*
* Apesar de possuirmos diversos unit tests, sempre é bom ter precaução com
* valores e testar alguns boletos, em especial se valores serão altos.
*
* @author Paulo Silveira
* @author Cauê Guerra
*
*/
public interface Banco extends Serializable {
/**
* Retorna o número desse banco, formatado com 3 dígitos
*
* @return numero formatado
*/
String getNumeroFormatado();
/**
* Pega a URL com a imagem de um banco
*
* @return logo do banco
*/
URL getImage();
/**
* Gera o código de barras para determinado boleto
* @param boleto boleto
* @return código de barras (texto)
*/
String geraCodigoDeBarrasPara(Boleto boleto);
String getCodigoBeneficiarioFormatado(Beneficiario beneficiario);
String getCarteiraFormatado(Beneficiario beneficiario);
String getNossoNumeroFormatado(Beneficiario beneficiario);
String getAgenciaECodigoBeneficiario(Beneficiario beneficiario);
String getNumeroFormatadoComDigito();
GeradorDeDigito getGeradorDeDigito();
String getNossoNumeroECodigoDocumento(Boleto boleto);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy