org.jrimum.bopepo.campolivre.CLBancoDoBrasilNN17Convenio7 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bpp-cobranca Show documentation
Show all versions of bpp-cobranca Show documentation
This is a fork and merge from JRimum ( http://www.jrimum.org ),
- Bopepo: https://github.com/jrimum/bopepo
- Texgit: https://github.com/jrimum/texgit
- Valia: https://github.com/jrimum/vallia
- Utilix: https://github.com/jrimum/utilix
- Domkee: https://github.com/jrimum/domkee
For Brazillian Boleto Payment Method. So much thanks for original authors:
Gilmar P. S. L, Misael Barreto and Rômulo Augusto.
The newest version!
package org.jrimum.bopepo.campolivre;
import org.jrimum.domkee.banco.Titulo;
import org.jrimum.texgit.Fillers;
import org.jrimum.texgit.FixedField;
/**
*
* O campo livre do Banco do Brasil com o nosso número de 17 dígitos e convênio
* de 7 posições deve seguir esta forma:
*
*
*
*
* Posição
* Tamanho
* Picture
* Conteúdo (terminologia padrão)
* Conteúdo (terminologia do banco)
*
*
*
* 20-25
* 6
* 9(6)
* Constante zeros = "000000"
* Constante zeros = "000000"
*
*
* 26-42
* 17
* 9(17)
* Nosso Número (sem dígito) composto pelo número do convênio fornecido pelo
* Banco (CCCCCCC) e complemento do Nosso-Número, sem DV (NNNNNNNNNN)
* Nosso Número (sem dígito) CCCCCCCNNNNNNNNNN
*
*
* 43-44
* 2
* 9(2)
* Código da carteira
* Tipo de Carteira/Modalidade de Cobrança
*
*
*
*
*
* @author Gilmar P.S.L
*
* @since 0.2
*
* @version 0.2
*/
class CLBancoDoBrasilNN17Convenio7 extends AbstractCLBancoDoBrasil {
/**
* {@code serialVersionUID = 2347714390743602306L}
*/
private static final long serialVersionUID = 2347714390743602306L;
/**
* Número de campos = 3.
*/
protected static final Integer FIELDS_LENGTH = Integer.valueOf(3);
/**
* Tamanho do campo Constante = 6.
*/
protected static final Integer CONSTANT_LENGTH = Integer.valueOf(6);
/**
* Valor do campo Constante = 0.
*/
protected static final Integer CONSTANT_VALUE = Integer.valueOf(0);
/**
* Constante em forma de campo {@link #CONSTANT_VALUE} e
* {@link #CONSTANT_LENGTH}, valor escrito: "000000".
*/
private static final FixedField CONSTANT_FIELD = new FixedField(CONSTANT_VALUE, CONSTANT_LENGTH, Fillers.ZERO_LEFT);
/**
* Tamanho do campo Nosso Número = 17.
*/
protected static final Integer NOSSO_NUMERO_LENGTH = Integer.valueOf(17);
/**
* Tamanho do campo Carteira = 2.
*/
protected static final Integer CARTEIRA_LENGTH = Integer.valueOf(2);
/**
*
* Cria um campo livre instanciando o número de fields ({@code
* FIELDS_LENGTH}) deste campo.
*
*
* @since 0.2
*/
protected CLBancoDoBrasilNN17Convenio7() {
super(FIELDS_LENGTH);
}
@Override
protected void checkValues(Titulo titulo) {
checkNossoNumero(titulo);
checkTamanhoDoNossoNumero(titulo, NN17);
checkCarteiraNotNull(titulo);
checkCodigoDaCarteira(titulo);
checkCodigoDaCarteiraMenorOuIgualQue(titulo, 99);
}
@Override
protected void addFields(Titulo titulo) {
this.add(CONSTANT_FIELD);
this.add(new FixedField(titulo.getNossoNumero(),NOSSO_NUMERO_LENGTH, Fillers.ZERO_LEFT));
this.add(new FixedField(titulo.getContaBancaria().getCarteira().getCodigo(), CARTEIRA_LENGTH, Fillers.ZERO_LEFT));
}
}