Java tutorial
/* * Copyright 2008 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: 30/03/2008 - 18:57:43 * * ================================================================================ * * Direitos autorais 2008 JRimum Project * * Licenciado sob a Licena Apache, Verso 2.0 ("LICENA"); voc no pode usar * esse arquivo exceto em conformidade com a esta LICENA. Voc pode obter uma * cpia desta LICENA em http://www.apache.org/licenses/LICENSE-2.0 A menos que * haja exigncia legal ou acordo por escrito, a distribuio de software sob * esta LICENA se dar COMO EST??, SEM GARANTIAS OU CONDIES DE QUALQUER * TIPO, sejam expressas ou tcitas. Veja a LICENA para a redao especfica a * reger permisses e limitaes sob esta LICENA. * * Criado em: 30/03/2008 - 18:57:43 * */ package br.com.nordestefomento.jrimum.domkee.financeiro.banco.febraban; import static br.com.nordestefomento.jrimum.utilix.ObjectUtil.isNotNull; import java.awt.Image; import java.util.Collection; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.log4j.Logger; import br.com.nordestefomento.jrimum.domkee.comum.pessoa.contato.NumeroDeTelefone; import br.com.nordestefomento.jrimum.domkee.comum.pessoa.endereco.Endereco; import br.com.nordestefomento.jrimum.domkee.comum.pessoa.id.cprf.AbstractCPRF; import br.com.nordestefomento.jrimum.domkee.comum.pessoa.id.cprf.CNPJ; import br.com.nordestefomento.jrimum.domkee.financeiro.banco.Pessoa; import br.com.nordestefomento.jrimum.domkee.financeiro.banco.PessoaJuridica; /** * * <p> * Um Banco (instituio financeira) supervisionada pelo <a href="http://www.bcb.gov.br/">BACEN</a>. * </p> * * @author <a href="http://gilmatryx.googlepages.com/">Gilmar P.S.L.</a> * * @since 0.2 * * @version 0.2 */ public class Banco implements br.com.nordestefomento.jrimum.domkee.financeiro.banco.Banco { /** * */ private static final long serialVersionUID = -6156550582890687779L; private static Logger log = Logger.getLogger(Banco.class); private CodigoDeCompensacaoBACEN codigoDeCompensacaoBACEN; private String segmento; private Image imgLogo; private PessoaJuridica pessoaJuridica; /** * */ public Banco() { super(); pessoaJuridica = new PessoaJuridica(); } /** * @param codigoDeCompensacaoBACEN * @param instituicao */ public Banco(CodigoDeCompensacaoBACEN codigoDeCompensacaoBACEN, String instituicao) { super(); this.codigoDeCompensacaoBACEN = codigoDeCompensacaoBACEN; pessoaJuridica = new PessoaJuridica(); pessoaJuridica.setNome(instituicao); pessoaJuridica.setNomeFantasia(instituicao); } /** * @param codigoDeCompensacaoBACEN * @param instituicao * @param cnpj */ public Banco(CodigoDeCompensacaoBACEN codigoDeCompensacaoBACEN, String instituicao, CNPJ cnpj) { super(); this.codigoDeCompensacaoBACEN = codigoDeCompensacaoBACEN; pessoaJuridica = new PessoaJuridica(); pessoaJuridica.setCPRF(cnpj); pessoaJuridica.setNome(instituicao); pessoaJuridica.setNomeFantasia(instituicao); } /** * @param codigoDeCompensacaoBACEN * @param instituicao * @param cnpj * @param segmento */ public Banco(CodigoDeCompensacaoBACEN codigoDeCompensacaoBACEN, String instituicao, CNPJ cnpj, String segmento) { super(); this.codigoDeCompensacaoBACEN = codigoDeCompensacaoBACEN; this.segmento = segmento; pessoaJuridica = new PessoaJuridica(); pessoaJuridica.setCPRF(cnpj); pessoaJuridica.setNome(instituicao); pessoaJuridica.setNomeFantasia(instituicao); } /** * @param codigoDeCompensacaoBACEN * @param instituicao * @param cnpj * @param segmento * @param imgLogo */ public Banco(CodigoDeCompensacaoBACEN codigoDeCompensacaoBACEN, String instituicao, CNPJ cnpj, String segmento, Image imgLogo) { super(); this.codigoDeCompensacaoBACEN = codigoDeCompensacaoBACEN; this.segmento = segmento; this.imgLogo = imgLogo; pessoaJuridica = new PessoaJuridica(); pessoaJuridica.setCPRF(cnpj); } /** * <p> * Verifica se o cdigo passado est ok em relao as regras: * <ol> * <li>No nulo</li> * <li>Numrico</li> * <li>Com 3 digitos</li> * </ol> * </p> * * @param codigo - Cdigo de compensao BACEN do banco * * @return se ok * * @throws IllegalArgumentException * * @since 0.2 * */ public static boolean isCodigoDeCompensacaoOK(String codigo) { boolean ok = false; if (isNotNull(codigo)) { if (StringUtils.isNumeric(codigo)) { if (codigo.length() == 3) { ok = true; } else { log.warn("O cdigo de apenas 3 digitos!"); } } else { log.warn("O cdigo de compensao deve ser numrico!"); } } return ok; } /** * @return the codigoDeCompensacaoBACEN */ public CodigoDeCompensacaoBACEN getCodigoDeCompensacaoBACEN() { return codigoDeCompensacaoBACEN; } /** * @param codigoDeCompensacaoBACEN the codigoDeCompensacaoBACEN to set */ public void setCodigoDeCompensacaoBACEN(CodigoDeCompensacaoBACEN codigoDeCompensacaoBACEN) { this.codigoDeCompensacaoBACEN = codigoDeCompensacaoBACEN; } public CNPJ getCNPJ() { return (CNPJ) pessoaJuridica.getCPRF(); } public void setCNPJ(CNPJ cnpj) { pessoaJuridica.setCPRF(cnpj); } public String getSegmento() { return segmento; } public void setSegmento(String segmento) { this.segmento = segmento; } public Image getImgLogo() { return imgLogo; } public void setImgLogo(Image imgLogo) { this.imgLogo = imgLogo; } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#addEndereco(br.com.nordestefomento.jrimum.domkee.comum.pessoa.endereco.Endereco) */ public void addEndereco(Endereco endereco) { pessoaJuridica.addEndereco(endereco); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#addTelefone(br.com.nordestefomento.jrimum.domkee.comum.pessoa.contato.NumeroDeTelefone) */ public void addTelefone(NumeroDeTelefone telefone) { pessoaJuridica.addTelefone(telefone); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#getCPRF() */ public AbstractCPRF getCPRF() { return pessoaJuridica.getCPRF(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#getEnderecos() */ public Collection<Endereco> getEnderecos() { return pessoaJuridica.getEnderecos(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#getNome() */ public String getNome() { return pessoaJuridica.getNome(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#getTelefones() */ public Collection<NumeroDeTelefone> getTelefones() { return pessoaJuridica.getTelefones(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#isFisica() */ public boolean isFisica() { return pessoaJuridica.isFisica(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#isJuridica() */ public boolean isJuridica() { return pessoaJuridica.isJuridica(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#setCPRF(br.com.nordestefomento.jrimum.domkee.comum.pessoa.id.cprf.AbstractCPRF) */ public void setCPRF(AbstractCPRF abstractCPRF) { pessoaJuridica.setCPRF(abstractCPRF); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#setEnderecos(java.util.Collection) */ public void setEnderecos(Collection<Endereco> enderecos) { pessoaJuridica.setEnderecos(enderecos); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#setNome(java.lang.String) */ public void setNome(String nome) { pessoaJuridica.setNome(nome); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#setTelefones(java.util.Collection) */ public void setTelefones(Collection<NumeroDeTelefone> telefones) { pessoaJuridica.setTelefones(telefones); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.PessoaJuridica#getInscricaoEstadual() */ public Long getInscricaoEstadual() { return pessoaJuridica.getInscricaoEstadual(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.PessoaJuridica#getInscricaoMunicipal() */ public Long getInscricaoMunicipal() { return pessoaJuridica.getInscricaoMunicipal(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.PessoaJuridica#getNomeFantasia() */ public String getNomeFantasia() { return pessoaJuridica.getNome(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.PessoaJuridica#setInscricaoEstadual(java.lang.Long) */ public void setInscricaoEstadual(Long inscricaoEstadual) { pessoaJuridica.setInscricaoEstadual(inscricaoEstadual); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.PessoaJuridica#setInscricaoMunicipal(java.lang.Long) */ public void setInscricaoMunicipal(Long inscricaoMunicipal) { pessoaJuridica.setInscricaoMunicipal(inscricaoMunicipal); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.PessoaJuridica#setNomeFantasia(java.lang.String) */ public void setNomeFantasia(String nomeFantasia) { pessoaJuridica.setNomeFantasia(nomeFantasia); } /** * @see Pessoa#addContaBancaria(ContaBancaria) */ public void addContaBancaria(ContaBancaria contaBancaria) { pessoaJuridica.addContaBancaria(contaBancaria); } /** * @see Pessoa#getContasBancarias() */ public Collection<ContaBancaria> getContasBancarias() { return pessoaJuridica.getContasBancarias(); } /** * @see Pessoa#hasContaBancaria() */ public boolean hasContaBancaria() { return pessoaJuridica.hasContaBancaria(); } /** * @see br.com.nordestefomento.jrimum.domkee.comum.pessoa.Pessoa#setContasBancarias(java.util.Collection) */ public void setContasBancarias(Collection<ContaBancaria> contasBancarias) { pessoaJuridica.setContasBancarias(contasBancarias); } @Override public String toString() { ToStringBuilder tb = new ToStringBuilder(this); tb.append(codigoDeCompensacaoBACEN); tb.append(segmento); tb.append(pessoaJuridica); return tb.toString(); } }