-
Notifications
You must be signed in to change notification settings - Fork 126
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OPEN - #9: Campos formatados em função do padrão de cada Banco
http://github.com/jrimum/bopepo/issues/issue/9 * Implementação para obtenção da informação necessária para preenchimento dos campos do boleto.
- Loading branch information
Showing
1 changed file
with
339 additions
and
0 deletions.
There are no files selected for viewing
339 changes: 339 additions & 0 deletions
339
src/main/java/org/jrimum/bopepo/view/info/campo/AbstractBoletoInfoCampoView.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,339 @@ | ||
/* | ||
* Copyright 2014 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: 19/01/2014 - 22:11:18 | ||
* | ||
* ================================================================================ | ||
* | ||
* Direitos autorais 2014 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: 19/01/2014 - 22:11:18 | ||
* | ||
*/ | ||
|
||
package org.jrimum.bopepo.view.info.campo; | ||
|
||
|
||
import static org.apache.commons.lang.StringUtils.EMPTY; | ||
import static org.apache.commons.lang.StringUtils.isNotBlank; | ||
import static org.jrimum.bopepo.view.info.campo.BoletoInfoCampoAgenciaCodigoCedente.getTextoAgenciaCodigoCedente; | ||
import static org.jrimum.bopepo.view.info.campo.BoletoInfoCampoCodigoBanco.getTextoCodigoDoBanco; | ||
import static org.jrimum.bopepo.view.info.campo.BoletoInfoCampoEndereco.getTextoEnderecoLinha1; | ||
import static org.jrimum.bopepo.view.info.campo.BoletoInfoCampoEndereco.getTextoEnderecoLinha2; | ||
import static org.jrimum.bopepo.view.info.campo.BoletoInfoCampoLogoBanco.getImagemBanco; | ||
import static org.jrimum.bopepo.view.info.campo.BoletoInfoCampoNossoNumero.getTextoNossoNumero; | ||
import static org.jrimum.bopepo.view.info.campo.BoletoInfoCampoPessoa.getTextoNomeCprfDaPessoa; | ||
import static org.jrimum.utilix.Objects.isNotNull; | ||
import static org.jrimum.utilix.Objects.whenNull; | ||
import static org.jrimum.utilix.text.DateFormat.DDMMYYYY_B; | ||
import static org.jrimum.utilix.text.DecimalFormat.MONEY_DD_BR; | ||
|
||
import java.awt.Image; | ||
import java.math.BigDecimal; | ||
import java.util.Date; | ||
|
||
import org.jrimum.bopepo.Boleto; | ||
import org.jrimum.bopepo.pdf.CodigoDeBarras; | ||
import org.jrimum.bopepo.view.ResourceBundle; | ||
import org.jrimum.utilix.Exceptions; | ||
import org.jrimum.utilix.Objects; | ||
|
||
/** | ||
* @author <a href="http://gilmatryx.googlepages.com/">Gilmar P.S.L.</a> | ||
* | ||
*/ | ||
abstract class AbstractBoletoInfoCampoView implements BoletoInfoCampoView{ | ||
|
||
private final ResourceBundle resourceBundle; | ||
|
||
private final Boleto boleto; | ||
|
||
/** | ||
* Modo de instanciação não permitido. | ||
* | ||
* @throws IllegalStateException | ||
* Caso haja alguma tentativa de utilização deste construtor. | ||
*/ | ||
@SuppressWarnings("unused") | ||
private AbstractBoletoInfoCampoView(){ | ||
Exceptions.throwIllegalStateException("Instanciação não permitida!"); | ||
resourceBundle = null; | ||
boleto = null; | ||
} | ||
|
||
AbstractBoletoInfoCampoView(ResourceBundle resourceBundle, Boleto boleto){ | ||
Objects.checkNotNull(resourceBundle); | ||
Objects.checkNotNull(boleto); | ||
this.resourceBundle = resourceBundle; | ||
this.boleto = boleto; | ||
} | ||
|
||
public String getTextoRsInstrucaoAoSacado() { | ||
return getValue(boleto.getInstrucaoAoSacado()); | ||
} | ||
|
||
public String getTextoRsCpfCnpj() { | ||
return boleto.getTitulo().getCedente().getCPRF().getCodigoFormatado(); | ||
} | ||
|
||
public String getTextoRsSacado(){ | ||
return getTextoFcSacadoL1(); | ||
} | ||
|
||
public String getTextoFcSacadoL1(){ | ||
return getTextoNomeCprfDaPessoa(boleto.getTitulo().getSacado()); | ||
} | ||
|
||
public String getTextoFcSacadoL2(){ | ||
return getTextoEnderecoLinha1(boleto.getTitulo().getSacado()); | ||
} | ||
|
||
public String getTextoFcSacadoL3(){ | ||
return getTextoEnderecoLinha2(boleto.getTitulo().getSacado()); | ||
} | ||
|
||
public String getTextoFcSacadorAvalistaL1(){ | ||
return getTextoNomeCprfDaPessoa(boleto.getTitulo().getSacadorAvalista()); | ||
} | ||
|
||
public String getTextoFcSacadorAvalistaL2(){ | ||
return getTextoEnderecoLinha1(boleto.getTitulo().getSacadorAvalista()); | ||
} | ||
|
||
public String getTextoFcSacadorAvalistaL3(){ | ||
return getTextoEnderecoLinha2(boleto.getTitulo().getSacadorAvalista()); | ||
} | ||
|
||
public String getTextoFcDataProcessamento(){ | ||
return getValue(boleto.getDataDeProcessamento()); | ||
} | ||
|
||
public String getTextoFcAceite(){ | ||
return getValue(boleto.getTitulo().getAceite()); | ||
} | ||
|
||
public String getTextoFcEspecieDocumento() { | ||
return whenNull(boleto.getTitulo().getTipoDeDocumento(), EMPTY, boleto.getTitulo().getTipoDeDocumento().getSigla()); | ||
} | ||
|
||
public String getTextoFcDataDocumento(){ | ||
return getValue(boleto.getTitulo().getDataDoDocumento()); | ||
} | ||
|
||
public String getTextoFcLocalPagamento(){ | ||
return getValue(boleto.getLocalPagamento()); | ||
} | ||
|
||
public String getTextoFcCarteira(){ | ||
return whenNull(boleto.getTitulo().getContaBancaria().getCarteira(), EMPTY, boleto.getTitulo().getContaBancaria().getCarteira().getCodigo().toString()); | ||
} | ||
|
||
public String getTextoFcInstrucaoAoCaixa1(){ | ||
return getValue(boleto.getInstrucao1()); | ||
} | ||
|
||
public String getTextoFcInstrucaoAoCaixa2(){ | ||
return getValue(boleto.getInstrucao2()); | ||
} | ||
|
||
public String getTextoFcInstrucaoAoCaixa3(){ | ||
return getValue(boleto.getInstrucao3()); | ||
} | ||
|
||
public String getTextoFcInstrucaoAoCaixa4(){ | ||
return getValue(boleto.getInstrucao4()); | ||
} | ||
|
||
public String getTextoFcInstrucaoAoCaixa5(){ | ||
return getValue(boleto.getInstrucao5()); | ||
} | ||
|
||
public String getTextoFcInstrucaoAoCaixa6(){ | ||
return getValue(boleto.getInstrucao6()); | ||
} | ||
|
||
public String getTextoFcInstrucaoAoCaixa7(){ | ||
return getValue(boleto.getInstrucao7()); | ||
} | ||
|
||
public String getTextoFcInstrucaoAoCaixa8(){ | ||
return getValue(boleto.getInstrucao8()); | ||
} | ||
|
||
public String getTextoRsMoraMulta(){ | ||
return getTextoFcMoraMulta(); | ||
} | ||
|
||
public String getTextoFcMoraMulta(){ | ||
return getValue(boleto.getTitulo().getMora()); | ||
} | ||
|
||
public String getTextoRsOutroAcrescimo(){ | ||
return getTextoFcOutroAcrescimo(); | ||
} | ||
|
||
public String getTextoFcOutroAcrescimo(){ | ||
return getValue(boleto.getTitulo().getAcrecimo()); | ||
} | ||
|
||
public String getTextoRsOutraDeducao(){ | ||
return getTextoFcOutraDeducao(); | ||
} | ||
|
||
public String getTextoFcOutraDeducao(){ | ||
return getValue(boleto.getTitulo().getDeducao()); | ||
} | ||
|
||
public String getTextoRsDescontoAbatimento(){ | ||
return getTextoFcDescontoAbatimento(); | ||
} | ||
|
||
public String getTextoFcDescontoAbatimento(){ | ||
return getValue(boleto.getTitulo().getDesconto()); | ||
} | ||
|
||
public String getTextoRsValorDocumento(){ | ||
return getTextoFcValorDocumento(); | ||
} | ||
|
||
public String getTextoFcValorDocumento(){ | ||
return getValue(boleto.getTitulo().getValor()); | ||
} | ||
|
||
public String getTextoRsValorCobrado(){ | ||
return getTextoFcValorCobrado(); | ||
} | ||
|
||
public String getTextoFcValorCobrado(){ | ||
return getValue(boleto.getTitulo().getValorCobrado()); | ||
} | ||
|
||
public String getTextoRsDataVencimento(){ | ||
return getTextoFcDataVencimento(); | ||
} | ||
|
||
public String getTextoFcDataVencimento(){ | ||
return getValue(boleto.getTitulo().getDataDoVencimento()); | ||
} | ||
|
||
public String getTextoRsNumeroDocumento(){ | ||
return getTextoFcNumeroDocumento(); | ||
} | ||
|
||
public String getTextoFcNumeroDocumento(){ | ||
return getValue(boleto.getTitulo().getNumeroDoDocumento()); | ||
} | ||
|
||
public String getTextoRsCedente(){ | ||
return getTextoFcCedente(); | ||
} | ||
|
||
public String getTextoFcCedente(){ | ||
return getValue(boleto.getTitulo().getCedente().getNome()); | ||
} | ||
|
||
public String getTextoRsEspecie(){ | ||
return getTextoFcEspecie(); | ||
} | ||
|
||
public String getTextoFcEspecie(){ | ||
return getValue(boleto.getTitulo().getTipoDeMoeda()); | ||
} | ||
|
||
public String getTextoRsCodigoBanco(){ | ||
return getTextoFcCodigoBanco(); | ||
} | ||
|
||
public String getTextoFcCodigoBanco(){ | ||
return getTextoCodigoDoBanco(boleto.getTitulo().getContaBancaria()); | ||
} | ||
|
||
public String getTextoRsAgenciaCodigoCedente(){ | ||
return getTextoFcAgenciaCodigoCedente(); | ||
} | ||
|
||
public String getTextoFcAgenciaCodigoCedente(){ | ||
return getTextoAgenciaCodigoCedente(boleto.getTitulo().getContaBancaria()); | ||
} | ||
|
||
public String getTextoRsNossoNumero(){ | ||
return getTextoFcNossoNumero(); | ||
} | ||
|
||
public String getTextoFcNossoNumero(){ | ||
return getTextoNossoNumero(boleto.getTitulo()); | ||
} | ||
|
||
public Image getImagemRsLogoBanco(){ | ||
return getImagemFcLogoBanco(); | ||
} | ||
|
||
public Image getImagemFcLogoBanco(){ | ||
return getImagemBanco(resourceBundle, boleto.getTitulo().getContaBancaria()); | ||
} | ||
|
||
public String getTextoRsLogoBanco(){ | ||
return getTextoFcLogoBanco(); | ||
} | ||
|
||
public String getTextoFcLogoBanco(){ | ||
return boleto.getTitulo().getContaBancaria().getBanco().getNome(); | ||
} | ||
|
||
public String getTextoRsLinhaDigitavel(){ | ||
return getTextoFcLinhaDigitavel(); | ||
} | ||
|
||
public String getTextoFcLinhaDigitavel(){ | ||
return boleto.getLinhaDigitavel().write(); | ||
} | ||
|
||
public Image getImagemFcCodigoBarra(){ | ||
return CodigoDeBarras.valueOf(boleto.getCodigoDeBarras().write()).toImage(); | ||
} | ||
|
||
private String getValue(String value){ | ||
if(isNotBlank(value)){ | ||
return value; | ||
} | ||
return EMPTY; | ||
} | ||
|
||
private String getValue(Date value){ | ||
if(isNotNull(value)){ | ||
return DDMMYYYY_B.format(value); | ||
} | ||
return EMPTY; | ||
} | ||
|
||
private String getValue(BigDecimal value){ | ||
if(isNotNull(value)){ | ||
return MONEY_DD_BR.format(value); | ||
} | ||
return EMPTY; | ||
} | ||
|
||
private <T extends Enum<?>> String getValue(T value){ | ||
if(isNotNull(value)){ | ||
return value.name(); | ||
} | ||
return EMPTY; | ||
} | ||
} |