├── 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 | 
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 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 |
69 |
70 |
71 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 | Subclasses of Instituicao in br.esig.com.nujava.dominio
93 |
94 | Modifier and Type
95 | Class and Description
96 |
97 |
98 |
99 | class
100 | Conta
101 | Esta entendidade representa uma Conta.
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
128 |
129 |
130 | Prev
131 | Next
132 |
133 |
137 |
140 |
141 |
151 |
152 |
153 |
154 |
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 |
12 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 |
69 |
70 |
71 |
72 | Class Summary
73 |
74 | Class
75 | Description
76 |
77 |
78 |
79 | CartaoCredito
80 |
81 | Esta é a entidade que define o que é um cartão de crédito.
82 |
83 |
84 |
85 | Conta
86 |
87 | Esta entendidade representa uma Conta.
88 |
89 |
90 |
91 | Genero
92 |
93 | Esta entendidade representa uma gênero.
94 |
95 |
96 |
97 | Instituicao
98 |
99 | Esta entendidade representa uma Instituição Bancária.
100 |
101 |
102 |
103 | Pessoa
104 |
105 | Esta entendidade representa uma Pessoa.
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
72 |
73 |
Class Hierarchy
74 |
75 | java.lang.Object
76 |
77 | br.esig.com.nujava.dominio.CartaoCredito
78 | br.esig.com.nujava.dominio.Genero
79 | br.esig.com.nujava.dominio.Instituicao
80 |
81 | br.esig.com.nujava.dominio.Conta
82 |
83 |
84 | br.esig.com.nujava.dominio.Pessoa
85 |
86 |
87 |
88 |
89 |
90 |
106 |
107 |
108 | Prev
109 | Next
110 |
111 |
115 |
118 |
119 |
129 |
130 |
131 |
132 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 |
69 |
70 |
71 |
84 |
85 |
86 |
108 |
109 |
110 |
111 |
112 |
128 |
129 |
130 | Prev
131 | Next
132 |
133 |
137 |
140 |
141 |
151 |
152 |
153 |
154 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 |
69 |
70 |
71 |
72 | Interface Summary
73 |
74 | Interface
75 | Description
76 |
77 |
78 |
79 | Operacoes
80 |
81 | Esta entendidade representa um contrato para operações bancárias.
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
72 |
73 |
Interface Hierarchy
74 |
75 | br.esig.com.nujava.interfaces.Operacoes
76 |
77 |
78 |
79 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 |
69 |
70 |
71 |
84 |
85 |
86 |
87 |
88 |
101 |
102 |
103 |
104 |
105 |
121 |
122 |
123 | Prev
124 | Next
125 |
126 |
130 |
133 |
134 |
144 |
145 |
146 |
147 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 | No usage of br.esig.com.nujava.main.BancoDigital
69 |
70 |
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 |
12 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 |
69 |
70 |
71 |
72 | Class Summary
73 |
74 | Class
75 | Description
76 |
77 |
78 |
79 | BancoDigital
80 |
81 | Esta é a entidade que gerencia uma conta digital.
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
72 |
73 |
Class Hierarchy
74 |
75 | java.lang.Object
76 |
79 |
80 |
81 |
82 |
83 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 | No usage of br.esig.com.nujava.main
69 |
70 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 | No usage of br.esig.com.nujava.negocio.TransacaoHelper
69 |
70 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 | No usage of br.esig.com.nujava.negocio.ValidacaoHelper
69 |
70 |
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 |
12 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 |
69 |
70 |
71 |
72 | Class Summary
73 |
74 | Class
75 | Description
76 |
77 |
78 |
79 | TransacaoHelper
80 |
81 | Esta é a entidade que executa as transações no sistema.
82 |
83 |
84 |
85 | ValidacaoHelper
86 |
87 | Esta entendidade valida os dados da
Conta
.
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
72 |
73 |
Class Hierarchy
74 |
75 | java.lang.Object
76 |
80 |
81 |
82 |
83 |
84 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 | No usage of br.esig.com.nujava.negocio
69 |
70 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 | No usage of br.esig.com.nujava.test.TransacaoHelperTest
69 |
70 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 | No usage of br.esig.com.nujava.test.ValidacaoHelperTest
69 |
70 |
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 |
12 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 |
93 |
94 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
72 |
73 |
Class Hierarchy
74 |
75 | java.lang.Object
76 |
80 |
81 |
82 |
83 |
84 |
100 |
101 |
102 | Prev
103 | Next
104 |
105 |
109 |
112 |
113 |
123 |
124 |
125 |
126 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
68 | No usage of br.esig.com.nujava.test
69 |
70 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
72 |
73 |
74 |
75 |
br.esig.*
76 |
77 |
78 |
79 | br.esig.com.nujava.dominio.Genero
80 |
81 | Modifier and Type
82 | Constant Field
83 | Value
84 |
85 |
86 |
87 |
88 |
89 | public static final char
90 | FEMININO
91 | 71
92 |
93 |
94 |
95 |
96 | public static final char
97 | MASCULINO
98 | 77
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
122 |
123 |
124 | Prev
125 | Next
126 |
127 |
131 |
134 |
135 |
145 |
146 |
147 |
148 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
69 |
70 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
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 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
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 |
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 |
68 | JavaScript is disabled on your browser.
69 |
70 | Frame Alert
71 | 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 Non-frame version .
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 |
12 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
96 |
97 |
113 |
114 |
115 | Prev
116 | Next
117 |
118 |
122 |
125 |
126 |
136 |
137 |
138 |
139 |
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 |
18 | JavaScript is disabled on your browser.
19 |
20 |
21 |
37 |
64 |
65 |
76 |
77 |
Class Hierarchy
78 |
79 | java.lang.Object
80 |
95 |
96 |
97 |
Interface Hierarchy
98 |
99 | br.esig.com.nujava.interfaces.Operacoes
100 |
101 |
102 |
103 |
119 |
120 |
121 | Prev
122 | Next
123 |
124 |
128 |
131 |
132 |
142 |
143 |
144 |
145 |
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 |
--------------------------------------------------------------------------------