├── Criando um Banco Digital com Java e Orientação a Objetos ├── LICENSE ├── README.md ├── doc │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── br │ │ └── esig │ │ │ └── com │ │ │ └── nujava │ │ │ ├── dominio │ │ │ ├── CartaoCredito.html │ │ │ ├── Conta.html │ │ │ ├── Genero.html │ │ │ ├── Instituicao.html │ │ │ ├── Pessoa.html │ │ │ ├── class-use │ │ │ │ ├── CartaoCredito.html │ │ │ │ ├── Conta.html │ │ │ │ ├── Genero.html │ │ │ │ ├── Instituicao.html │ │ │ │ └── Pessoa.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── interfaces │ │ │ ├── Operacoes.html │ │ │ ├── class-use │ │ │ │ └── Operacoes.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── main │ │ │ ├── BancoDigital.html │ │ │ ├── class-use │ │ │ │ └── BancoDigital.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── negocio │ │ │ ├── TransacaoHelper.html │ │ │ ├── ValidacaoHelper.html │ │ │ ├── class-use │ │ │ │ ├── TransacaoHelper.html │ │ │ │ └── ValidacaoHelper.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ └── test │ │ │ ├── TransacaoHelperTest.html │ │ │ ├── ValidacaoHelperTest.html │ │ │ ├── class-use │ │ │ ├── TransacaoHelperTest.html │ │ │ └── ValidacaoHelperTest.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-files │ │ ├── index-1.html │ │ ├── index-10.html │ │ ├── index-11.html │ │ ├── index-12.html │ │ ├── index-13.html │ │ ├── index-2.html │ │ ├── index-3.html │ │ ├── index-4.html │ │ ├── index-5.html │ │ ├── index-6.html │ │ ├── index-7.html │ │ ├── index-8.html │ │ └── index-9.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── package-list │ ├── resources │ │ ├── background.gif │ │ ├── tab.gif │ │ ├── titlebar.gif │ │ └── titlebar_end.gif │ └── stylesheet.css └── src │ └── br │ └── esig │ └── com │ └── nujava │ ├── dominio │ ├── CartaoCredito.java │ ├── Conta.java │ ├── Genero.java │ ├── Instituicao.java │ └── Pessoa.java │ ├── interfaces │ └── Operacoes.java │ ├── main │ └── BancoDigital.java │ ├── negocio │ ├── TransacaoHelper.java │ └── ValidacaoHelper.java │ └── test │ ├── TransacaoHelperTest.java │ └── ValidacaoHelperTest.java └── README.md /Criando um Banco Digital com Java e Orientação a Objetos/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Alex Rogério 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/README.md: -------------------------------------------------------------------------------- 1 | # Criando um Banco Digital com Java e Orientação a Objetos 2 | 3 | 4 | ### Modelagem dos Dados 5 | 6 | 1. Uma pessoa é definida no sistema com as seguintes características: nome, gênero, data de nascimento e CPF. 7 | 2. A instituição bancária deve ser criada assim que a aplicação inicia e ela deve possuir os seguintes dados: nome, data de criação e o código da agência bancária. 8 | 3. Sobre a modelagem da conta deve atender os seguintes requisitos: 9 | 1. Uma pessoa deve possuir apenas uma conta cadastrada 10 | 2. Uma conta deve ser definida da seguinte forma: agência, número, pessoa, ativa e saldo. 11 | 4. Em uma conta digital deve ser possível ter ou fazer: transferência bancária para outra pessoa, solicitar cartão de crédito, sacar e depositar dinheiro. 12 | 1. Em uma transação bancária deve conter os dados da conta de quem está transferindo, quem está recebendo e data dessa operação e verificar se o saldo de quem está transferindo é menor ou igual ao saldo disponível dessa pessoa. 13 | 2. Na solicitação de cartão de crédito deve ser analisado o saldo que essa pessoa possui, caso ela tenha a mais de R$ 50,00 a solicitação deverá ser aprovada e deve ser gerado automaticamente o número do cartão, data de expiração e o código de segurança. 14 | 3. No saque de dinheiro o sistema deverá verificar o saldo atual e ver se aquele valor é menor ou igual ao saldo da conta. 15 | 4. No depósito de dinheiro deve ser obrigatoriamente identificado para qual conta está sendo depositado e o valor do depósito. 16 | 17 | ### Funcionalidades 18 | 19 | Na NuJava é possível criar uma conta, exibir o seu saldo atual, depositar, sacar, solicitar cartão de crédito e realizar transferência entre contas. 20 | 21 | - Exemplo da aplicação sendo executada:
22 | ![Executando o NuJava](https://user-images.githubusercontent.com/38151364/109973650-72287900-7cd7-11eb-9316-40f1d01fa5eb.png) 23 | 24 | ### Requisitos 25 | 26 | Deve-se ter instalado a versão do Java [1.7](https://docs.oracle.com/javase/7/docs/api/) 27 | 28 | ### Como compilar 29 | 30 | Para compilar o projeto basta executar o comando abaixo: 31 | 32 | ```bash 33 | cd local_projeto/wallet-java/src/br/esig/com/nujava/main/ 34 | ``` 35 | 36 | ```java 37 | javac BancoDigital.java 38 | ``` 39 | 40 | ### **Autor** 41 | 42 | - **Alex Rogério** - [alexrogeriodj](https://github.com/alexrogeriodj) 43 | 44 | ### Palavras-chave 45 | 46 | - Java 47 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/allclasses-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Classes 7 | 8 | 9 | 10 | 11 |

All Classes

12 |
13 | 26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/allclasses-noframe.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Classes 7 | 8 | 9 | 10 | 11 |

All Classes

12 |
13 | 26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/dominio/class-use/Instituicao.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class br.esig.com.nujava.dominio.Instituicao 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Class
br.esig.com.nujava.dominio.Instituicao

67 |
68 |
69 | 110 |
111 | 112 |
113 | 114 | 115 | 116 | 117 | 127 |
128 | 155 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/dominio/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.dominio 7 | 8 | 9 | 10 | 11 |

br.esig.com.nujava.dominio

12 |
13 |

Classes

14 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/dominio/package-summary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.dominio 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Package br.esig.com.nujava.dominio

67 |
68 |
69 | 112 |
113 | 114 |
115 | 116 | 117 | 118 | 119 | 129 |
130 | 157 | 158 | 159 | 160 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/dominio/package-tree.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.dominio Class Hierarchy 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Hierarchy For Package br.esig.com.nujava.dominio

67 | Package Hierarchies: 68 | 71 |
72 |
73 |

Class Hierarchy

74 | 88 |
89 | 90 |
91 | 92 | 93 | 94 | 95 | 105 |
106 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/interfaces/class-use/Operacoes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Interface br.esig.com.nujava.interfaces.Operacoes 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Interface
br.esig.com.nujava.interfaces.Operacoes

67 |
68 |
69 | 110 |
111 | 112 |
113 | 114 | 115 | 116 | 117 | 127 |
128 | 155 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/interfaces/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.interfaces 7 | 8 | 9 | 10 | 11 |

br.esig.com.nujava.interfaces

12 |
13 |

Interfaces

14 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/interfaces/package-summary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.interfaces 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Package br.esig.com.nujava.interfaces

67 |
68 |
69 | 88 |
89 | 90 |
91 | 92 | 93 | 94 | 95 | 105 |
106 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/interfaces/package-tree.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.interfaces Class Hierarchy 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Hierarchy For Package br.esig.com.nujava.interfaces

67 | Package Hierarchies: 68 | 71 |
72 |
73 |

Interface Hierarchy

74 | 77 |
78 | 79 |
80 | 81 | 82 | 83 | 84 | 94 |
95 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/interfaces/package-use.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Package br.esig.com.nujava.interfaces 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Package
br.esig.com.nujava.interfaces

67 |
68 |
69 | 103 |
104 | 105 |
106 | 107 | 108 | 109 | 110 | 120 |
121 | 148 | 149 | 150 | 151 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/main/class-use/BancoDigital.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class br.esig.com.nujava.main.BancoDigital 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Class
br.esig.com.nujava.main.BancoDigital

67 |
68 |
No usage of br.esig.com.nujava.main.BancoDigital
69 | 70 |
71 | 72 | 73 | 74 | 75 | 85 |
86 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/main/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.main 7 | 8 | 9 | 10 | 11 |

br.esig.com.nujava.main

12 |
13 |

Classes

14 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/main/package-summary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.main 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Package br.esig.com.nujava.main

67 |
68 |
69 | 88 |
89 | 90 |
91 | 92 | 93 | 94 | 95 | 105 |
106 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/main/package-tree.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.main Class Hierarchy 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Hierarchy For Package br.esig.com.nujava.main

67 | Package Hierarchies: 68 | 71 |
72 |
73 |

Class Hierarchy

74 | 81 |
82 | 83 |
84 | 85 | 86 | 87 | 88 | 98 |
99 | 126 | 127 | 128 | 129 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/main/package-use.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Package br.esig.com.nujava.main 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Package
br.esig.com.nujava.main

67 |
68 |
No usage of br.esig.com.nujava.main
69 | 70 |
71 | 72 | 73 | 74 | 75 | 85 |
86 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/negocio/class-use/TransacaoHelper.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class br.esig.com.nujava.negocio.TransacaoHelper 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Class
br.esig.com.nujava.negocio.TransacaoHelper

67 |
68 |
No usage of br.esig.com.nujava.negocio.TransacaoHelper
69 | 70 |
71 | 72 | 73 | 74 | 75 | 85 |
86 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/negocio/class-use/ValidacaoHelper.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class br.esig.com.nujava.negocio.ValidacaoHelper 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Class
br.esig.com.nujava.negocio.ValidacaoHelper

67 |
68 |
No usage of br.esig.com.nujava.negocio.ValidacaoHelper
69 | 70 |
71 | 72 | 73 | 74 | 75 | 85 |
86 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/negocio/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.negocio 7 | 8 | 9 | 10 | 11 |

br.esig.com.nujava.negocio

12 |
13 |

Classes

14 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/negocio/package-summary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.negocio 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Package br.esig.com.nujava.negocio

67 |
68 |
69 | 94 |
95 | 96 |
97 | 98 | 99 | 100 | 101 | 111 |
112 | 139 | 140 | 141 | 142 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/negocio/package-tree.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.negocio Class Hierarchy 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Hierarchy For Package br.esig.com.nujava.negocio

67 | Package Hierarchies: 68 | 71 |
72 |
73 |

Class Hierarchy

74 | 82 |
83 | 84 |
85 | 86 | 87 | 88 | 89 | 99 |
100 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/negocio/package-use.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Package br.esig.com.nujava.negocio 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Package
br.esig.com.nujava.negocio

67 |
68 |
No usage of br.esig.com.nujava.negocio
69 | 70 |
71 | 72 | 73 | 74 | 75 | 85 |
86 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/test/class-use/TransacaoHelperTest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class br.esig.com.nujava.test.TransacaoHelperTest 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Class
br.esig.com.nujava.test.TransacaoHelperTest

67 |
68 |
No usage of br.esig.com.nujava.test.TransacaoHelperTest
69 | 70 |
71 | 72 | 73 | 74 | 75 | 85 |
86 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/test/class-use/ValidacaoHelperTest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class br.esig.com.nujava.test.ValidacaoHelperTest 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Class
br.esig.com.nujava.test.ValidacaoHelperTest

67 |
68 |
No usage of br.esig.com.nujava.test.ValidacaoHelperTest
69 | 70 |
71 | 72 | 73 | 74 | 75 | 85 |
86 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/test/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.test 7 | 8 | 9 | 10 | 11 |

br.esig.com.nujava.test

12 |
13 |

Classes

14 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/test/package-summary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.test 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Package br.esig.com.nujava.test

67 |
68 |
69 | 92 |
93 | 94 |
95 | 96 | 97 | 98 | 99 | 109 |
110 | 137 | 138 | 139 | 140 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/test/package-tree.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | br.esig.com.nujava.test Class Hierarchy 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Hierarchy For Package br.esig.com.nujava.test

67 | Package Hierarchies: 68 | 71 |
72 |
73 |

Class Hierarchy

74 | 82 |
83 | 84 |
85 | 86 | 87 | 88 | 89 | 99 |
100 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/br/esig/com/nujava/test/package-use.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Package br.esig.com.nujava.test 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Uses of Package
br.esig.com.nujava.test

67 |
68 |
No usage of br.esig.com.nujava.test
69 | 70 |
71 | 72 | 73 | 74 | 75 | 85 |
86 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/constant-values.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Constant Field Values 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Constant Field Values

67 |

Contents

68 | 71 |
72 |
73 | 74 | 75 |

br.esig.*

76 | 104 |
105 | 106 |
107 | 108 | 109 | 110 | 111 | 121 |
122 | 149 | 150 | 151 | 152 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/deprecated-list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Deprecated List 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Deprecated API

67 |

Contents

68 |
69 | 70 |
71 | 72 | 73 | 74 | 75 | 85 |
86 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index-files/index-1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | B-Index 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
B C D E F G I M O P S T V  66 | 67 | 68 |

B

69 |
70 |
BancoDigital - Class in br.esig.com.nujava.main
71 |
72 |
Esta é a entidade que gerencia uma conta digital.
73 |
74 |
BancoDigital() - Constructor for class br.esig.com.nujava.main.BancoDigital
75 |
 
76 |
br.esig.com.nujava.dominio - package br.esig.com.nujava.dominio
77 |
 
78 |
br.esig.com.nujava.interfaces - package br.esig.com.nujava.interfaces
79 |
 
80 |
br.esig.com.nujava.main - package br.esig.com.nujava.main
81 |
 
82 |
br.esig.com.nujava.negocio - package br.esig.com.nujava.negocio
83 |
 
84 |
br.esig.com.nujava.test - package br.esig.com.nujava.test
85 |
 
86 |
87 | B C D E F G I M O P S T V 
88 | 89 |
90 | 91 | 92 | 93 | 94 | 104 |
105 | 132 | 133 | 134 | 135 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index-files/index-10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | P-Index 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
B C D E F G I M O P S T V  66 | 67 | 68 |

P

69 |
70 |
Pessoa - Class in br.esig.com.nujava.dominio
71 |
72 |
Esta entendidade representa uma Pessoa.
73 |
74 |
Pessoa() - Constructor for class br.esig.com.nujava.dominio.Pessoa
75 |
 
76 |
77 | B C D E F G I M O P S T V 
78 | 79 |
80 | 81 | 82 | 83 | 84 | 94 |
95 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index-files/index-13.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | V-Index 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
B C D E F G I M O P S T V  66 | 67 | 68 |

V

69 |
70 |
ValidacaoHelper - Class in br.esig.com.nujava.negocio
71 |
72 |
Esta entendidade valida os dados da Conta.
73 |
74 |
ValidacaoHelper() - Constructor for class br.esig.com.nujava.negocio.ValidacaoHelper
75 |
 
76 |
ValidacaoHelperTest - Class in br.esig.com.nujava.test
77 |
78 |
Esta entendidade testa as validações da Conta.
79 |
80 |
ValidacaoHelperTest() - Constructor for class br.esig.com.nujava.test.ValidacaoHelperTest
81 |
 
82 |
verificarDadosPessoa(Conta) - Static method in class br.esig.com.nujava.negocio.ValidacaoHelper
83 |
 
84 |
85 | B C D E F G I M O P S T V 
86 | 87 |
88 | 89 | 90 | 91 | 92 | 102 |
103 | 130 | 131 | 132 | 133 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index-files/index-2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | C-Index 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
B C D E F G I M O P S T V  66 | 67 | 68 |

C

69 |
70 |
CartaoCredito - Class in br.esig.com.nujava.dominio
71 |
72 |
Esta é a entidade que define o que é um cartão de crédito.
73 |
74 |
CartaoCredito() - Constructor for class br.esig.com.nujava.dominio.CartaoCredito
75 |
 
76 |
Conta - Class in br.esig.com.nujava.dominio
77 |
78 |
Esta entendidade representa uma Conta.
79 |
80 |
Conta() - Constructor for class br.esig.com.nujava.dominio.Conta
81 |
 
82 |
83 | B C D E F G I M O P S T V 
84 | 85 |
86 | 87 | 88 | 89 | 90 | 100 |
101 | 128 | 129 | 130 | 131 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index-files/index-3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | D-Index 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
B C D E F G I M O P S T V  66 | 67 | 68 |

D

69 |
70 |
depositar(Conta, double) - Method in interface br.esig.com.nujava.interfaces.Operacoes
71 |
72 |
Esta função é responsável por inserir dinheiro em uma conta.
73 |
74 |
depositar(Conta, double) - Method in class br.esig.com.nujava.negocio.TransacaoHelper
75 |
 
76 |
77 | B C D E F G I M O P S T V 
78 | 79 |
80 | 81 | 82 | 83 | 84 | 94 |
95 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index-files/index-4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | E-Index 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
B C D E F G I M O P S T V  66 | 67 | 68 |

E

69 |
70 |
exibirDadosBancarios(Conta) - Method in interface br.esig.com.nujava.interfaces.Operacoes
71 |
72 |
Esta função é responsável por exibir os dados bancários de uma conta.
73 |
74 |
exibirDadosBancarios(Conta) - Method in class br.esig.com.nujava.negocio.TransacaoHelper
75 |
 
76 |
77 | B C D E F G I M O P S T V 
78 | 79 |
80 | 81 | 82 | 83 | 84 | 94 |
95 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index-files/index-5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | F-Index 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
B C D E F G I M O P S T V  66 | 67 | 68 |

F

69 |
70 |
FEMININO - Static variable in class br.esig.com.nujava.dominio.Genero
71 |
 
72 |
73 | B C D E F G I M O P S T V 
74 | 75 |
76 | 77 | 78 | 79 | 80 | 90 |
91 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index-files/index-8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | M-Index 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
B C D E F G I M O P S T V  66 | 67 | 68 |

M

69 |
70 |
main(String[]) - Static method in class br.esig.com.nujava.main.BancoDigital
71 |
 
72 |
MASCULINO - Static variable in class br.esig.com.nujava.dominio.Genero
73 |
 
74 |
modificarStringToGenero(String) - Static method in class br.esig.com.nujava.dominio.Genero
75 |
 
76 |
77 | B C D E F G I M O P S T V 
78 | 79 |
80 | 81 | 82 | 83 | 84 | 94 |
95 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index-files/index-9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | O-Index 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
B C D E F G I M O P S T V  66 | 67 | 68 |

O

69 |
70 |
Operacoes - Interface in br.esig.com.nujava.interfaces
71 |
72 |
Esta entendidade representa um contrato para operações bancárias.
73 |
74 |
75 | B C D E F G I M O P S T V 
76 | 77 |
78 | 79 | 80 | 81 | 82 | 92 |
93 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Generated Documentation (Untitled) 7 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | <noscript> 68 | <div>JavaScript is disabled on your browser.</div> 69 | </noscript> 70 | <h2>Frame Alert</h2> 71 | <p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Overview List 7 | 8 | 9 | 10 | 11 |
All Classes
12 |
13 |

Packages

14 | 21 |
22 |

 

23 | 24 | 25 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/overview-summary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Overview 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 |
Packages 
PackageDescription
br.esig.com.nujava.dominio 
br.esig.com.nujava.interfaces 
br.esig.com.nujava.main 
br.esig.com.nujava.negocio 
br.esig.com.nujava.test 
95 |
96 | 97 |
98 | 99 | 100 | 101 | 102 | 112 |
113 | 140 | 141 | 142 | 143 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/overview-tree.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Class Hierarchy 7 | 8 | 9 | 10 | 11 | 17 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 36 |
37 | 64 | 65 |
66 |

Hierarchy For All Packages

67 | Package Hierarchies: 68 | 75 |
76 |
77 |

Class Hierarchy

78 | 97 |

Interface Hierarchy

98 | 101 |
102 | 103 |
104 | 105 | 106 | 107 | 108 | 118 |
119 | 146 | 147 | 148 | 149 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/package-list: -------------------------------------------------------------------------------- 1 | br.esig.com.nujava.dominio 2 | br.esig.com.nujava.interfaces 3 | br.esig.com.nujava.main 4 | br.esig.com.nujava.negocio 5 | br.esig.com.nujava.test 6 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrogeriodj/Criando-um-Banco-Digital-com-Java-e-Orienta-o-a-Objetos/abc7c9e858ea12490e71f76b629d1e004c616c5b/Criando um Banco Digital com Java e Orientação a Objetos/doc/resources/background.gif -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrogeriodj/Criando-um-Banco-Digital-com-Java-e-Orienta-o-a-Objetos/abc7c9e858ea12490e71f76b629d1e004c616c5b/Criando um Banco Digital com Java e Orientação a Objetos/doc/resources/tab.gif -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrogeriodj/Criando-um-Banco-Digital-com-Java-e-Orienta-o-a-Objetos/abc7c9e858ea12490e71f76b629d1e004c616c5b/Criando um Banco Digital com Java e Orientação a Objetos/doc/resources/titlebar.gif -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/doc/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrogeriodj/Criando-um-Banco-Digital-com-Java-e-Orienta-o-a-Objetos/abc7c9e858ea12490e71f76b629d1e004c616c5b/Criando um Banco Digital com Java e Orientação a Objetos/doc/resources/titlebar_end.gif -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/dominio/CartaoCredito.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.dominio; 2 | 3 | import java.text.ParseException; 4 | import java.text.SimpleDateFormat; 5 | import java.util.Date; 6 | import java.util.Random; 7 | import java.util.TimeZone; 8 | 9 | /** Esta é a entidade que define o que é um cartão de crédito. 10 | * 11 | * Um cartão de crédito é composto por:


12 | * Um número de 16 dígitos


13 | * Data de validade do cartão


14 | * Código de segurança de 3 dígitos


15 | * 16 | * @author Alex Rogério 17 | * @since 17/08/2021 18 | * @version 1.0 19 | */ 20 | public class CartaoCredito { 21 | 22 | private Integer numeroCartao; 23 | 24 | private Date validade; 25 | 26 | private Integer codigoSeguranca; 27 | 28 | public CartaoCredito() throws ParseException { 29 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy"); 30 | simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); 31 | 32 | Random random = new Random(); 33 | 34 | this.numeroCartao = random.nextInt(16); 35 | this.codigoSeguranca = random.nextInt(3); 36 | this.validade = simpleDateFormat.parse("01/01/2030"); 37 | } 38 | 39 | public Date getValidade() { 40 | return validade; 41 | } 42 | 43 | public void setValidade(Date validade) { 44 | this.validade = validade; 45 | } 46 | 47 | public Integer getCodigoSeguranca() { 48 | return codigoSeguranca; 49 | } 50 | 51 | public void setCodigoSeguranca(Integer codigoSeguranca) { 52 | this.codigoSeguranca = codigoSeguranca; 53 | } 54 | 55 | public Integer getNumeroCartao() { 56 | return numeroCartao; 57 | } 58 | 59 | public void setNumeroCartao(Integer numeroCartao) { 60 | this.numeroCartao = numeroCartao; 61 | } 62 | 63 | } 64 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/dominio/Conta.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.dominio; 2 | 3 | import java.util.Date; 4 | import java.util.Random; 5 | 6 | /** Esta entendidade representa uma Conta. 7 | * 8 | * Uma conta deve ser ligada apenas uma {@link Pessoa}.


9 | * Quem regulamenta a conta é a {@link Instituicao}.


10 | * 11 | * @author Alex Rogério 12 | * @since 17/08/2021 13 | * @version 1.0 14 | */ 15 | public class Conta extends Instituicao { 16 | private String numero; 17 | 18 | private boolean ativa; 19 | 20 | private Double saldo; 21 | 22 | private Pessoa pessoa; 23 | 24 | private Date dataCriacao; 25 | 26 | private CartaoCredito cartaoCredito; 27 | 28 | private boolean possuiCredito; 29 | 30 | public Conta() { 31 | Random random = new Random(); 32 | this.numero = "" + random.nextInt(4) + "-" + random.nextInt(1); 33 | this.pessoa = new Pessoa(); 34 | this.saldo = 0.0; 35 | this.ativa = Boolean.TRUE; 36 | } 37 | 38 | public String getNumero() { 39 | return numero; 40 | } 41 | 42 | public void setNumero(String numero) { 43 | this.numero = numero; 44 | } 45 | 46 | public boolean isAtiva() { 47 | return ativa; 48 | } 49 | 50 | public void setAtiva(boolean ativa) { 51 | this.ativa = ativa; 52 | } 53 | 54 | public Double getSaldo() { 55 | return saldo; 56 | } 57 | 58 | public void setSaldo(Double saldo) { 59 | this.saldo = saldo; 60 | } 61 | 62 | public Pessoa getPessoa() { 63 | return pessoa; 64 | } 65 | 66 | public void setPessoa(Pessoa pessoa) { 67 | this.pessoa = pessoa; 68 | } 69 | 70 | public Date getDataCriacao() { 71 | return dataCriacao; 72 | } 73 | 74 | public void setDataCriacao(Date dataCriacao) { 75 | this.dataCriacao = dataCriacao; 76 | } 77 | 78 | public CartaoCredito getCartaoCredito() { 79 | return cartaoCredito; 80 | } 81 | 82 | public void setCartaoCredito(CartaoCredito cartaoCredito) { 83 | this.cartaoCredito = cartaoCredito; 84 | } 85 | 86 | public boolean isPossuiCredito() { 87 | return possuiCredito; 88 | } 89 | 90 | public void setPossuiCredito(boolean possuiCredito) { 91 | this.possuiCredito = possuiCredito; 92 | } 93 | 94 | } 95 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/dominio/Genero.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.dominio; 2 | 3 | /** Esta entendidade representa uma gênero. 4 | * 5 | * Uma pessoa somente pode possuir único gênero.


6 | * 7 | * @author Alex Rogério 8 | * @since 17/08/2021 9 | * @version 1.0 10 | */ 11 | public class Genero { 12 | public static final char MASCULINO = 'M'; 13 | 14 | public static final char FEMININO = 'G'; 15 | 16 | private Character genero; 17 | 18 | public static String getNomeGenero(char genero) { 19 | switch (genero) { 20 | case MASCULINO: 21 | return "Masculino"; 22 | case FEMININO: 23 | return "Feminino"; 24 | default: 25 | return "Desconhecido"; 26 | } 27 | } 28 | 29 | public Genero() {} 30 | 31 | public Genero(char genero) { 32 | this.genero = genero; 33 | } 34 | 35 | public static Genero modificarStringToGenero(String genero) { 36 | switch (genero) { 37 | case "Masculino": 38 | return new Genero(MASCULINO); 39 | case "Feminino": 40 | return new Genero(FEMININO); 41 | default: 42 | return new Genero(); 43 | } 44 | } 45 | 46 | public boolean isGeneroMasculino(Character genero) { 47 | return genero != null && genero == MASCULINO; 48 | } 49 | 50 | public boolean isGeneroFeminino(Character genero) { 51 | return genero != null && genero == FEMININO; 52 | } 53 | 54 | public boolean isEmpty() { 55 | return this.genero == null; 56 | } 57 | 58 | public char getGenero() { 59 | return genero; 60 | } 61 | 62 | public void setGenero(char genero) { 63 | this.genero = genero; 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/dominio/Instituicao.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.dominio; 2 | 3 | import java.util.Date; 4 | 5 | /** Esta entendidade representa uma Instituição Bancária. 6 | * 7 | * Uma instituição possui CNPJ único.


8 | * Uma instituição ela é regulamentada pelo Governo Federal.


9 | * 10 | * @author Alex Rogério 11 | * @since 17/08/2021 12 | * @version 1.0 13 | * @see Site do Brasil 14 | */ 15 | public class Instituicao { 16 | 17 | private String nome; 18 | 19 | private String cnpj; 20 | 21 | private Date dataCriacao; 22 | 23 | private String codigo; 24 | 25 | public Instituicao() { 26 | this.nome = "NuJava"; 27 | this.cnpj = "79773685000169"; 28 | this.dataCriacao = new Date(); 29 | this.codigo = "0001"; 30 | } 31 | 32 | public String getNome() { 33 | return nome; 34 | } 35 | 36 | public void setNome(String nome) { 37 | this.nome = nome; 38 | } 39 | 40 | public String getCnpj() { 41 | return cnpj; 42 | } 43 | 44 | public void setCnpj(String cnpj) { 45 | this.cnpj = cnpj; 46 | } 47 | 48 | public Date getDataCriacao() { 49 | return dataCriacao; 50 | } 51 | 52 | public void setDataCriacao(Date dataCriacao) { 53 | this.dataCriacao = dataCriacao; 54 | } 55 | 56 | public String getCodigo() { 57 | return codigo; 58 | } 59 | 60 | public void setCodigo(String codigo) { 61 | this.codigo = codigo; 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/dominio/Pessoa.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.dominio; 2 | 3 | import java.util.Date; 4 | 5 | /** Esta entendidade representa uma Pessoa. 6 | * 7 | * Uma pessoa possui CPF único.


8 | * Uma pessoa também faz um relacionamento com {@link Genero}.


9 | * 10 | * @author Alex Rogério 11 | * @since 17/08/2021 12 | * @version 1.0 13 | */ 14 | public class Pessoa { 15 | private String nome; 16 | 17 | private Date dataNascimento; 18 | 19 | private String cpf; 20 | 21 | private Genero genero; 22 | 23 | public Pessoa() {} 24 | 25 | public String getNome() { 26 | return nome; 27 | } 28 | 29 | public void setNome(String nome) { 30 | this.nome = nome; 31 | } 32 | 33 | public Date getDataNascimento() { 34 | return dataNascimento; 35 | } 36 | 37 | public void setDataNascimento(Date dataNascimento) { 38 | this.dataNascimento = dataNascimento; 39 | } 40 | 41 | public String getCpf() { 42 | return cpf; 43 | } 44 | 45 | public void setCpf(String cpf) { 46 | this.cpf = cpf; 47 | } 48 | 49 | public Genero getGenero() { 50 | return genero; 51 | } 52 | 53 | public void setGenero(Genero genero) { 54 | this.genero = genero; 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/interfaces/Operacoes.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.interfaces; 2 | 3 | import java.text.ParseException; 4 | 5 | import br.esig.com.nujava.dominio.Conta; 6 | 7 | /** Esta entendidade representa um contrato para operações bancárias. 8 | * 9 | * Uma operação deve ser saque, depósito e transferência


10 | * 11 | * @author Alex Rogério 12 | * @since 17/08/2021 13 | * @version 1.0 14 | */ 15 | public interface Operacoes { 16 | 17 | /** Esta função é responsável por sacar dinheiro de uma conta. 18 | * 19 | * @author Frank Laércio 20 | * @since 02/03/2021 21 | * @version 1.0 22 | */ 23 | public void sacar(Conta conta, double valor); 24 | 25 | /** Esta função é responsável por inserir dinheiro em uma conta. 26 | * 27 | * @author Frank Laércio 28 | * @since 02/03/2021 29 | * @version 1.0 30 | */ 31 | public void depositar(Conta conta, double valor); 32 | 33 | /** Esta função é responsável por transferir dinheiro entre contas bancárias. 34 | * 35 | * @author Frank Laércio 36 | * @since 02/03/2021 37 | * @version 1.0 38 | */ 39 | public void transferir(Conta suaConta, Conta contaDestino, double valor); 40 | 41 | /** Esta função é responsável por solicitar cartões de crédito. 42 | * 43 | * @author Frank Laércio 44 | * @since 02/03/2021 45 | * @version 1.0 46 | */ 47 | public void solicitarCartao(Conta conta) throws ParseException; 48 | 49 | /** Esta função é responsável por exibir os dados bancários de uma conta. 50 | * 51 | * @author Frank Laércio 52 | * @since 02/03/2021 53 | * @version 1.0 54 | */ 55 | public void exibirDadosBancarios(Conta conta); 56 | } 57 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/negocio/TransacaoHelper.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.negocio; 2 | 3 | import java.text.ParseException; 4 | import java.text.SimpleDateFormat; 5 | import java.util.TimeZone; 6 | 7 | import br.esig.com.nujava.dominio.CartaoCredito; 8 | import br.esig.com.nujava.dominio.Conta; 9 | import br.esig.com.nujava.dominio.Genero; 10 | import br.esig.com.nujava.interfaces.Operacoes; 11 | 12 | /** Esta é a entidade que executa as transações no sistema. 13 | * 14 | * Uma transação é definada na interface de {@link Operacoes}.


15 | * 16 | * @author Alex Rogério 17 | * @since 17/08/2021 18 | * @version 1.0 19 | */ 20 | public class TransacaoHelper implements Operacoes { 21 | 22 | @Override 23 | public void sacar(Conta conta, double valor) { 24 | if(ValidacaoHelper.isPossivelRealizarOperacaoBancaria(conta, valor)) { 25 | double novoSaldo = conta.getSaldo() - valor; 26 | conta.setSaldo(novoSaldo); 27 | 28 | System.out.println("Você sacou: R$ " + valor); 29 | } 30 | } 31 | 32 | @Override 33 | public void depositar(Conta conta, double valor) { 34 | if(ValidacaoHelper.isPossivelRealizarDeposito(valor)) { 35 | double novoSaldo = conta.getSaldo() + valor; 36 | conta.setSaldo(novoSaldo); 37 | 38 | System.out.println("Você depositou: R$ " + valor); 39 | } 40 | } 41 | 42 | @Override 43 | public void transferir(Conta suaConta, Conta contaDestino, double valor) { 44 | if(ValidacaoHelper.isPossivelRealizarOperacaoBancaria(suaConta, valor)) { 45 | sacar(suaConta, valor); 46 | depositar(contaDestino, valor); 47 | 48 | System.out.println("Você transferiu para " + contaDestino.getPessoa().getNome() + " o total de: R$ " + suaConta.getSaldo()); 49 | System.out.println("Seu saldo atual da sua conta é: R$ " + suaConta.getSaldo()); 50 | } 51 | } 52 | 53 | @Override 54 | public void solicitarCartao(Conta conta) throws ParseException { 55 | if(ValidacaoHelper.isPossivelSolicitarCartao(conta)) { 56 | CartaoCredito cartaoCredito = new CartaoCredito(); 57 | conta.setCartaoCredito(cartaoCredito); 58 | 59 | System.out.println("Cartão de Crédito solicitado com sucesso!"); 60 | } 61 | } 62 | 63 | @Override 64 | public void exibirDadosBancarios(Conta conta) { 65 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy"); 66 | simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); 67 | 68 | System.out.println("Nome: " + conta.getPessoa().getNome()); 69 | System.out.println("CPF: " + conta.getPessoa().getCpf()); 70 | System.out.println("Gênero: " + Genero.getNomeGenero(conta.getPessoa().getGenero().getGenero())); 71 | System.out.println("Data de Nascimento: " + simpleDateFormat.format(conta.getPessoa().getDataNascimento())); 72 | System.out.println("Banco: " + conta.getNome()); 73 | System.out.println("Agência: " + conta.getCodigo()); 74 | System.out.println("Nº da Conta: " + conta.getNumero()); 75 | } 76 | 77 | } 78 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/negocio/ValidacaoHelper.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.negocio; 2 | 3 | import java.util.List; 4 | 5 | import br.esig.com.nujava.dominio.Conta; 6 | 7 | /** Esta entendidade valida os dados da {@link Conta}. 8 | * 9 | * @author Alex Rogério 10 | * @since 17/08/2021 11 | * @version 1.0 12 | */ 13 | public class ValidacaoHelper { 14 | 15 | public static boolean isPossivelCadastrarConta(Conta conta) { 16 | if(!verificarDadosPessoa(conta)) { 17 | System.out.println("Não foi possível cadastrar a conta!"); 18 | return false; 19 | } 20 | 21 | return true; 22 | } 23 | 24 | public static boolean verificarDadosPessoa(Conta conta) { 25 | if(conta == null) { 26 | System.out.println("Conta não foi preenchida."); 27 | 28 | return false; 29 | } 30 | 31 | if(conta.getPessoa().getNome().isEmpty()) { 32 | System.out.println("Nome não foi preenchido."); 33 | 34 | return false; 35 | } 36 | 37 | if(conta.getPessoa().getCpf().isEmpty()) { 38 | System.out.println("CPF não foi preenchido."); 39 | 40 | return false; 41 | } 42 | 43 | if(conta.getPessoa().getGenero().isEmpty()) { 44 | System.out.println("Gênero não foi preenchido."); 45 | 46 | return false; 47 | } 48 | 49 | if(conta.getPessoa().getDataNascimento() == null) { 50 | System.out.println("Data de Nascimento não foi preenchido."); 51 | 52 | return false; 53 | } 54 | 55 | if(conta.getNumero().isEmpty()) { 56 | System.out.println("Nº da Conta não foi preenchido."); 57 | 58 | return false; 59 | } 60 | 61 | return true; 62 | } 63 | 64 | public static boolean isPossivelRealizarOperacaoBancaria(Conta conta, double valor) { 65 | if(valor <= conta.getSaldo()) { 66 | return true; 67 | }else{ 68 | System.out.println("Não foi possível realizar a operação, verifique o valor informado!"); 69 | 70 | return false; 71 | } 72 | } 73 | 74 | public static boolean isPossivelRealizarDeposito(double valor) { 75 | if(valor > 0) { 76 | return true; 77 | } else { 78 | System.out.println("Não foi possível realizar o depósito, verifique o valor informado!"); 79 | 80 | return false; 81 | } 82 | } 83 | 84 | public static boolean isPossivelSolicitarCartao(Conta conta) { 85 | if(conta.getSaldo() > 50) { 86 | return true; 87 | }else { 88 | System.out.println("Não é possível solicitar um cartão! Verifique o seu tempo de conta."); 89 | 90 | return false; 91 | } 92 | } 93 | 94 | public static boolean isContaExistente(List contas, String cpf) { 95 | if(!contas.isEmpty()) { 96 | for (Conta conta : contas) { 97 | if(conta.getPessoa().getCpf().equals(cpf)) { 98 | return true; 99 | } 100 | } 101 | } 102 | 103 | System.out.println("O CPF informado não pertence a nenhuma conta!"); 104 | 105 | return false; 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/test/TransacaoHelperTest.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.test; 2 | 3 | import static org.junit.Assert.*; 4 | 5 | import org.junit.Test; 6 | 7 | import br.esig.com.nujava.dominio.Conta; 8 | import br.esig.com.nujava.negocio.TransacaoHelper; 9 | 10 | /** Esta entendidade testa a {@link TransacaoHelper}. 11 | * 12 | * @author Alex Rogério 13 | * @since 17/08/2021 14 | * @version 1.0 15 | */ 16 | public class TransacaoHelperTest { 17 | 18 | @Test 19 | public void testDeveSacar() { 20 | Conta conta = new Conta(); 21 | conta.setSaldo(50.0); 22 | 23 | TransacaoHelper transacaoHelper = new TransacaoHelper(); 24 | transacaoHelper.sacar(conta, 10.0); 25 | 26 | assertTrue(conta.getSaldo() == 40.0); 27 | } 28 | 29 | @Test 30 | public void testNaoDeveSacar() { 31 | Conta conta = new Conta(); 32 | conta.setSaldo(50.0); 33 | 34 | TransacaoHelper transacaoHelper = new TransacaoHelper(); 35 | transacaoHelper.sacar(conta, 60.0); 36 | 37 | assertTrue(conta.getSaldo() == 50.0); 38 | } 39 | 40 | @Test 41 | public void testDeveDepositar() { 42 | Conta conta = new Conta(); 43 | 44 | TransacaoHelper transacaoHelper = new TransacaoHelper(); 45 | transacaoHelper.depositar(conta, 10.0); 46 | 47 | assertTrue(conta.getSaldo() == 10.0); 48 | } 49 | 50 | @Test 51 | public void testDeveTransferir() { 52 | Conta conta1 = new Conta(); 53 | conta1.setSaldo(50.0); 54 | 55 | Conta conta2 = new Conta(); 56 | 57 | TransacaoHelper transacaoHelper = new TransacaoHelper(); 58 | transacaoHelper.transferir(conta1, conta2, 10.0); 59 | 60 | assertTrue(conta1.getSaldo() == 40.0 && conta2.getSaldo() == 10.0); 61 | } 62 | 63 | @Test 64 | public void testNaoDeveTransferir() { 65 | Conta conta1 = new Conta(); 66 | conta1.setSaldo(50.0); 67 | 68 | Conta conta2 = new Conta(); 69 | 70 | TransacaoHelper transacaoHelper = new TransacaoHelper(); 71 | transacaoHelper.transferir(conta1, conta2, 60.0); 72 | 73 | assertTrue(conta1.getSaldo() == 50.0 && conta2.getSaldo() == 0.0); 74 | } 75 | 76 | } 77 | -------------------------------------------------------------------------------- /Criando um Banco Digital com Java e Orientação a Objetos/src/br/esig/com/nujava/test/ValidacaoHelperTest.java: -------------------------------------------------------------------------------- 1 | package br.esig.com.nujava.test; 2 | 3 | import static org.junit.Assert.assertFalse; 4 | import static org.junit.Assert.assertTrue; 5 | 6 | import java.util.ArrayList; 7 | import java.util.Date; 8 | import java.util.List; 9 | 10 | import org.junit.Test; 11 | 12 | import br.esig.com.nujava.dominio.Conta; 13 | import br.esig.com.nujava.dominio.Genero; 14 | import br.esig.com.nujava.dominio.Pessoa; 15 | import br.esig.com.nujava.negocio.ValidacaoHelper; 16 | 17 | /** Esta entendidade testa as validações da {@link Conta}. 18 | * 19 | * @author Alex Rogério 20 | * @since 17/08/2021 21 | * @version 1.0 22 | */ 23 | public class ValidacaoHelperTest { 24 | 25 | @Test 26 | public void testDeveCadastrarContaComTodosDados() { 27 | Conta conta = new Conta(); 28 | conta.getPessoa().setNome("Teste"); 29 | conta.getPessoa().setCpf("111-111-111-11"); 30 | conta.getPessoa().setGenero(Genero.modificarStringToGenero("Masculino")); 31 | conta.getPessoa().setDataNascimento(new Date()); 32 | conta.setNumero("000000-0"); 33 | 34 | assertTrue(ValidacaoHelper.isPossivelCadastrarConta(conta)); 35 | } 36 | 37 | @Test 38 | public void testNaoDeveCadastrarContaComTodosDados() { 39 | Conta conta = null; 40 | 41 | assertFalse(ValidacaoHelper.isPossivelCadastrarConta(conta)); 42 | } 43 | 44 | @Test 45 | public void testPossivelDepositarDinheiro() { 46 | assertTrue(ValidacaoHelper.isPossivelRealizarDeposito(10.0)); 47 | } 48 | 49 | @Test 50 | public void testNaoPossivelDepositarDinheiro() { 51 | assertFalse(ValidacaoHelper.isPossivelRealizarDeposito(0.0)); 52 | } 53 | 54 | @Test 55 | public void testDeveSerPossivelRealizarTransacao() { 56 | Conta conta = new Conta(); 57 | conta.setSaldo(50.0); 58 | 59 | assertTrue(ValidacaoHelper.isPossivelRealizarOperacaoBancaria(conta, 10.0)); 60 | } 61 | 62 | @Test 63 | public void testNaoDeveSerPossivelRealizarTransacao() { 64 | Conta conta = new Conta(); 65 | conta.setSaldo(50.0); 66 | 67 | assertFalse(ValidacaoHelper.isPossivelRealizarOperacaoBancaria(conta, 60.0)); 68 | } 69 | 70 | @Test 71 | public void testExisteConta() { 72 | List contas = new ArrayList(); 73 | 74 | Conta conta = new Conta(); 75 | conta.setPessoa(new Pessoa()); 76 | conta.getPessoa().setCpf("111-111-111-11"); 77 | 78 | contas.add(conta); 79 | 80 | assertTrue(ValidacaoHelper.isContaExistente(contas, conta.getPessoa().getCpf())); 81 | } 82 | 83 | @Test 84 | public void testNaoExisteConta() { 85 | List contas = new ArrayList(); 86 | 87 | assertFalse(ValidacaoHelper.isContaExistente(contas, "111-111-111-11")); 88 | } 89 | 90 | @Test 91 | public void testDeveSolicitarCartaoCreditoComSaldoMaiorQueCinquentaReais() { 92 | Conta conta = new Conta(); 93 | conta.setSaldo(60.0); 94 | 95 | assertTrue(ValidacaoHelper.isPossivelSolicitarCartao(conta)); 96 | } 97 | 98 | @Test 99 | public void testNaoDeveSolicitarCartaoCreditoComSaldoMenorQueCinquentaReais() { 100 | Conta conta = new Conta(); 101 | conta.setSaldo(10.0); 102 | 103 | assertFalse(ValidacaoHelper.isPossivelSolicitarCartao(conta)); 104 | } 105 | 106 | } 107 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Criando-um-Banco-Digital-com-Java-e-Orienta-o-a-Objetos 2 | Criando um Banco Digital com Java e Orientação a Objetos 3 | --------------------------------------------------------------------------------