org.jrimum.bopepo.campolivre.CLHSBCCobrancaRegistrada 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!
/*
* Copyright 2010 JRimum Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by
* applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
* OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
* Created at: 14/08/2010 - 22:33:26
*
* ================================================================================
*
* Direitos autorais 2008 JRimum Project
*
* Licenciado sob a Licença Apache, Versão 2.0 ("LICENÇA"); você não pode usar
* esse arquivo exceto em conformidade com a esta LICENÇA. Você pode obter uma
* cópia desta LICENÇA em http://www.apache.org/licenses/LICENSE-2.0 A menos que
* haja exigência legal ou acordo por escrito, a distribuição de software sob
* esta LICENÇA se dará “COMO ESTÁ”, SEM GARANTIAS OU CONDIÇÕES DE QUALQUER
* TIPO, sejam expressas ou tácitas. Veja a LICENÇA para a redação específica a
* reger permissões e limitações sob esta LICENÇA.
*
* Criado em: 14/08/2010 - 22:33:26
*
*/
package org.jrimum.bopepo.campolivre;
import org.jrimum.domkee.banco.Titulo;
import org.jrimum.texgit.Fillers;
import org.jrimum.texgit.FixedField;
import org.jrimum.utilix.Exceptions;
/**
*
* O campo livre do HSBC, para cobrança registrada(CSB), deve seguir esta forma:
*
*
*
*
*
* Posição
* Tamanho
* Picture
* Conteúdo (terminologia padrão)
* Conteúdo (terminologia do banco)
*
*
*
*
* 20-30
* 11
* 9(11)
* Nosso número com dígito
* Número Bancário
*
*
* 31-34
* 4
* 9(4)
* Código da Agência.
* Código da Agência.
*
*
* 35-41
* 7
* 9(7)
* Conta Corrente.
* Conta de cobrança.
*
*
* 42-43
* 2
* 9(2)
* Código da carteira="00"
* Código da carteira="00"
*
*
* 44-44
* 2
* 9(2)
* Constante="1"
* Código do aplicativo da Cobrança (COB) = "1"
*
*
*
*
*
* @see org.jrimum.bopepo.campolivre.AbstractCampoLivre
*
* @author Gilmar P.S.L
*
* @since 0.2
*
* @version 0.2
*/
class CLHSBCCobrancaRegistrada extends AbstractCLHSBC{
/**
*
*/
private static final long serialVersionUID = -5052841093486791338L;
private static final Integer FIELDS_LENGTH = 6;
private static final String CODIGO_DA_CARTEIRA = "00";
private static final Integer CODIGO_DO_APLICATIVO = Integer.valueOf(1);
/**
* *
* Dado um título, cria um campo livre para cobrança registrada do banco HSBC.
*
*
* @param titulo - título com as informações para geração do campo livre
*/
CLHSBCCobrancaRegistrada(Titulo titulo) {
super(FIELDS_LENGTH);
this.add(new FixedField(titulo.getNossoNumero(), 10, Fillers.ZERO_LEFT));
this.add(new FixedField(titulo.getDigitoDoNossoNumero(), 1));
this.add(new FixedField(titulo.getContaBancaria().getAgencia().getCodigo(), 4, Fillers.ZERO_LEFT));
this.add(new FixedField(titulo.getContaBancaria().getNumeroDaConta().getCodigoDaConta(), 7, Fillers.ZERO_LEFT));
this.add(new FixedField(CODIGO_DA_CARTEIRA, 2));
this.add(new FixedField(CODIGO_DO_APLICATIVO, 1));
}
@Override
protected void addFields(Titulo titulo) {
// TODO IMPLEMENTAR
Exceptions.throwUnsupportedOperationException("AINDA NÃO IMPLEMENTADO!");
}
@Override
protected void checkValues(Titulo titulo) {
// TODO IMPLEMENTAR
Exceptions.throwUnsupportedOperationException("AINDA NÃO IMPLEMENTADO!");
}
}