diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/TB-Java-Projeto-Guiado-II.iml b/.idea/TB-Java-Projeto-Guiado-II.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/TB-Java-Projeto-Guiado-II.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..c1c2a99 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..07c2a23 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/br.com.starlabs/CTO.java b/src/br.com.starlabs/CTO.java new file mode 100644 index 0000000..e2d6b97 --- /dev/null +++ b/src/br.com.starlabs/CTO.java @@ -0,0 +1,25 @@ +package br.com.starlabs; + +public class CTO extends EmployeeReference { + + public CTO(String name, String position, double salary, String cpf) { + super(name, position, salary, cpf); + } + + public void create() { + System.out.println("201 - CTO was created"); + } + + public void read() { + System.out.println("Name " + name + ", position: " + position + ", Salário: R$" + salary); + } + + public void update(double newSalary) { + this.salary = newSalary; + System.out.println("200 - CTO was updated"); + } + + public void delete() { + System.out.println("204 - CTO was deleted"); + } +} diff --git a/src/br.com.starlabs/CTORoot.java b/src/br.com.starlabs/CTORoot.java new file mode 100644 index 0000000..c9dfe11 --- /dev/null +++ b/src/br.com.starlabs/CTORoot.java @@ -0,0 +1,30 @@ +package br.com.starlabs; + +public class CTORoot extends EmployeeRoot { + + @Override + public void create(CTO employee) { + super.create(employee); + } + + @Override + public CTO getById(String name) { + return super.getById(name); + } + + @Override + public void delete(String name) { + super.delete(name); + } + + @Override + public void getAll() { + super.getAll(); + } + + @Override + public void update(String name, double newSalary, String newPosition) { + super.update(name, newSalary, newPosition); + } + +} diff --git a/src/br.com.starlabs/EmployeeInterface.java b/src/br.com.starlabs/EmployeeInterface.java new file mode 100644 index 0000000..a557f9d --- /dev/null +++ b/src/br.com.starlabs/EmployeeInterface.java @@ -0,0 +1,19 @@ +package br.com.starlabs; + +public interface EmployeeInterface { + String getName(); + + void setName(String name); + + String getPosition(); + + void setPosition(String Position); + + double getSalary(); + + void setSalary(double Salary); + + String getCPF(); + + void setCPF(String CPF); +} diff --git a/src/br.com.starlabs/EmployeeNode.java b/src/br.com.starlabs/EmployeeNode.java new file mode 100644 index 0000000..d390135 --- /dev/null +++ b/src/br.com.starlabs/EmployeeNode.java @@ -0,0 +1,16 @@ + +package br.com.starlabs; + +public class EmployeeNode { + + EmployeeReference employee; + EmployeeNode leftChild; + EmployeeNode rightChild; + + public EmployeeNode(EmployeeReference employee) { + this.employee = funcionario; + leftChild = null; + rightChild = null; + } + +} diff --git a/src/br.com.starlabs/EmployeeReference.java b/src/br.com.starlabs/EmployeeReference.java new file mode 100644 index 0000000..6e0cb27 --- /dev/null +++ b/src/br.com.starlabs/EmployeeReference.java @@ -0,0 +1,54 @@ +public class EmployeeReference implements EmployeeReference { + protected String name; + protected String position; + protected double salary; + protected String cpf; + + public EmployeeReference(String name, String position, double salary, String cpf) { + this.name = name; + this.position = position; + this.salary = salary; + this.cpf = cpf; + } + + @Override + public String getName() { + return name; + } + + @Override + public void setName(String name) { + this.Name = name; + } + + @Override + public String getPosition() { + return position; + } + + @Override + public void setPosition(String position) { + this.Position = position; + } + + @Override + public double getSalary() { + return salary; + } + + @Override + public void setSalary(double salary) { + this.Salary = salary; + } + + @Override + public String getCpf() { + return cpf; + } + + @Override + public void setCpf(String cpf) { + this.cpf = cpf; + } + +} diff --git a/src/br.com.starlabs/EmployeeRoot.java b/src/br.com.starlabs/EmployeeRoot.java new file mode 100644 index 0000000..b87e648 --- /dev/null +++ b/src/br.com.starlabs/EmployeeRoot.java @@ -0,0 +1,56 @@ +package br.com.starlabs; + +public class EmployeeRoot { + + private TreeSet employees; + + public EmployeeRoot() { + employees = new TreeSet<>((f1, f2) -> f1.getName().compareTo(f2.getName())); + } + + public void create(T employee) { + employees.add(employee); + System.out.println("201 - Employee was added!"); + } + + public T getById(String name) { + + for (T employeeReference : employees) { + if (employeeReference.getName().equals(name)) { + return employeeReference; + } + } + System.out.println("404 - The employee was not found"); + return null; + } + + public void delete(String name) { + T employeeToDelete = getById(name); + if (employeeToDelete != null) { + employees.remove(employeeToDelete); + System.out.println("200 - Employee was deleted"); + } else { + System.out.println("404 - Employee not found"); + } + } + + public void getAll() { + System.out.println("******* All Employees ********"); + for (T employeeReference : employees) { + System.out.println(employeeReference.getName() + " - " + employeeReference.getPosition() + " - " + + employeeReference.getSalary()); + } + } + + public void update(String name, double newSalary, String newPosition) { + T employeeToUpdate = getById(name); + if (employeeToUpdate != null) { + employeeToUpdate.setSalary(newSalary); + employeeToUpdate.setPosition(newPosition); + System.out.println("200 - Employee updated"); + } else { + System.out.println("404 - Employee not found"); + } + } + +} diff --git a/src/funcionariosStarlabs/ArvoreCTO.java b/src/funcionariosStarlabs/ArvoreCTO.java deleted file mode 100644 index b50504d..0000000 --- a/src/funcionariosStarlabs/ArvoreCTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package funcionariosStarlabs; - -public class ArvoreCTO extends ArvoreDeFuncionarios { - - @Override - public void adicionar(CTO funcionario) { - super.adicionar(funcionario); - } - - @Override - public CTO buscar(String nome) { - return super.buscar(nome); - } - - @Override - public void remover(String nome) { - super.remover(nome); - } - - @Override - public void mostrarTodos() { - super.mostrarTodos(); - } - - @Override - public void atualizarDados(String nome, double novoSalario, String novoCargo) { - super.atualizarDados(nome, novoSalario, novoCargo); - } -} diff --git a/src/funcionariosStarlabs/ArvoreDeFuncionarios.java b/src/funcionariosStarlabs/ArvoreDeFuncionarios.java deleted file mode 100644 index 0bdeaed..0000000 --- a/src/funcionariosStarlabs/ArvoreDeFuncionarios.java +++ /dev/null @@ -1,55 +0,0 @@ -package funcionariosStarlabs; -import java.util.TreeSet; - -public class ArvoreDeFuncionarios { - - private TreeSet funcionarios; - - public ArvoreDeFuncionarios() { - funcionarios = new TreeSet<>((f1, f2) -> f1.getNome().compareTo(f2.getNome())); - } - - public void adicionar(T funcionario) { - funcionarios.add(funcionario); - System.out.println("Funcionário adicionado com sucesso!"); - } - - public T buscar(String nome) { - - for (T funcionarioBase : funcionarios) { - if (funcionarioBase.getNome().equals(nome)) { - return funcionarioBase; // retorno o funcionário encontrado - } - } - System.out.println("Funcionário não existe na nossa base de dados"); - return null; - } - - public void remover(String nome) { - T funcionarioParaRemover = buscar(nome); - if (funcionarioParaRemover != null) { - funcionarios.remove(funcionarioParaRemover); - System.out.println("Funcionário " + nome + " removido com sucesso!"); - } else { - System.out.println(nome + "Não foi encontrado na nossa base de dados"); - } - } - - public void mostrarTodos() { - System.out.println("\n=== Todos os Funcionário ==="); - for (T funcionarioBase : funcionarios) { - System.out.println(funcionarioBase.getNome() + " - " + funcionarioBase.getCargo() + " - " + funcionarioBase.getSalario()); - } - } - - public void atualizarDados(String nome, double novoSalario, String novoCargo) { - T funcionarioParaAtualizar = buscar(nome); - if (funcionarioParaAtualizar != null) { - funcionarioParaAtualizar.setSalario(novoSalario); - funcionarioParaAtualizar.setCargo(novoCargo); - System.out.println("Dados da pessoa funcionária atulizados com sucesso!"); - } else { - System.out.println("Pessoa não encontrada em nossa base!"); - } - } -} \ No newline at end of file diff --git a/src/funcionariosStarlabs/ArvoreFuncionarios.java b/src/funcionariosStarlabs/ArvoreFuncionarios.java deleted file mode 100644 index 12ce816..0000000 --- a/src/funcionariosStarlabs/ArvoreFuncionarios.java +++ /dev/null @@ -1,95 +0,0 @@ -package funcionariosStarlabs; - -public class ArvoreFuncionarios { - private FuncionarioBaseNode root; - - public ArvoreFuncionarios() { - root = null; - } - - private FuncionarioBaseNode inserirRecursivo(FuncionarioBaseNode node, FuncionarioBase funcionario) { - if (node == null) { - return new FuncionarioBaseNode(funcionario); - } - - if (funcionario.getNome().compareTo(node.funcionario.getNome()) < 0) { - node.leftChild = inserirRecursivo(node.leftChild, funcionario); - } else if (funcionario.getNome().compareTo(node.funcionario.getNome()) > 0) { - node.rightChild = inserirRecursivo(node.rightChild, funcionario); - } - - return node; - } - - public void inserir(FuncionarioBase funcionario) { - root = inserirRecursivo(root, funcionario); - } - - private FuncionarioBase buscarRecursivo(FuncionarioBaseNode node, String nome) { - - if (node == null || node.funcionario.getNome().equals(nome)) { - return node == null ? null : node.funcionario; - } - - if (nome.compareTo(node.funcionario.getNome()) < 0) { - return buscarRecursivo(node.leftChild, nome); - } else { - buscarRecursivo(node.rightChild, nome); - } - - return null; - } - - public FuncionarioBase buscar(String nome) { - return buscarRecursivo(root, nome); - } - - - private FuncionarioBaseNode removerRecursivo(FuncionarioBaseNode node, String nome) { - if (node == null) { - return null; - } - - if (nome.compareTo(node.funcionario.getCargo()) < 0) { - node.leftChild = removerRecursivo(node.leftChild, nome); - } else if (nome.compareTo(node.funcionario.getNome()) > 0) { - node.rightChild = removerRecursivo(node.rightChild, nome); - } else { - if (node.leftChild == null) { - return node.rightChild; - } else if (node.rightChild == null) { - return node.leftChild; - } - - node.funcionario = minValue(node.rightChild); - node.rightChild = removerRecursivo(node.rightChild, node.funcionario.getNome()); - } - return node; - } - - public void remover(String nome) { - root = removerRecursivo(root, nome); - } - - private FuncionarioBase minValue(FuncionarioBaseNode node) { - FuncionarioBase menorFuncionario = node.funcionario; - while(node.leftChild != null) { - menorFuncionario = node.leftChild.funcionario; - node = node.leftChild; - } - - return menorFuncionario; - } - - public void mostarDadosEmOrdem() { - mostarDadosEmOrdemRecursivo(root); - } - - private void mostarDadosEmOrdemRecursivo(FuncionarioBaseNode node) { - if (node != null) { - mostarDadosEmOrdemRecursivo(node.leftChild); - System.out.println(node.funcionario.getNome() + " - " + node.funcionario.getCargo()); - mostarDadosEmOrdemRecursivo(node.rightChild); - } - } -} diff --git a/src/funcionariosStarlabs/ArvoreVPDeEngenharia.java b/src/funcionariosStarlabs/ArvoreVPDeEngenharia.java deleted file mode 100644 index 165062f..0000000 --- a/src/funcionariosStarlabs/ArvoreVPDeEngenharia.java +++ /dev/null @@ -1,30 +0,0 @@ -package funcionariosStarlabs; - -public class ArvoreVPDeEngenharia extends ArvoreDeFuncionarios { - - @Override - public void adicionar(VPDeEngenharia funcionario) { - super.adicionar(funcionario); - } - - @Override - public VPDeEngenharia buscar(String nome) { - return super.buscar(nome); - } - - @Override - public void remover(String nome) { - super.remover(nome); - } - - @Override - public void mostrarTodos() { - super.mostrarTodos(); - } - - @Override - public void atualizarDados(String nome, double novoSalario, String novoCargo) { - super.atualizarDados(nome, novoSalario, novoCargo); - } - -} diff --git a/src/funcionariosStarlabs/CTO.java b/src/funcionariosStarlabs/CTO.java deleted file mode 100644 index 2a1198d..0000000 --- a/src/funcionariosStarlabs/CTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package funcionariosStarlabs; - -public class CTO extends FuncionarioBase { - - public CTO(String nome, String cargo, double salario, String cpf) { - super(nome, cargo, salario, cpf); - } - - public void criar() { - System.out.println("CTO criado com sucesso"); - } - - public void ler() { - System.out.println("Nome " + nome + ", Cargo: " + cargo + ", Salário: R$" + salario); - } - - public void atualizarDados(double novoSalario) { - this.salario = novoSalario; - System.out.println("Dados do CTO atualizado com sucesso!"); - } - - public void remover() { - System.out.println("CTO removido com sucesso"); - } -} diff --git a/src/funcionariosStarlabs/FuncionarioBase.java b/src/funcionariosStarlabs/FuncionarioBase.java deleted file mode 100644 index bb5ad6f..0000000 --- a/src/funcionariosStarlabs/FuncionarioBase.java +++ /dev/null @@ -1,48 +0,0 @@ -package funcionariosStarlabs; - -public abstract class FuncionarioBase implements FuncionarioBaseInterface { - protected String nome; - protected String cargo; - protected double salario; - protected String cpf; - - public FuncionarioBase(String nome, String cargo, double salario, String cpf) { - this.nome = nome; - this.cargo = cargo; - this.salario = salario; - this.cpf = cpf; - } - - @Override - public String getNome() { - return nome; - } - @Override - public void setNome(String nome) { - this.nome = nome; - } - @Override - public String getCargo() { - return cargo; - } - @Override - public void setCargo(String cargo) { - this.cargo = cargo; - } - @Override - public double getSalario() { - return salario; - } - @Override - public void setSalario(double salario) { - this.salario = salario; - } - @Override - public String getCpf() { - return cpf; - } - @Override - public void setCpf(String cpf) { - this.cpf = cpf; - } -} \ No newline at end of file diff --git a/src/funcionariosStarlabs/FuncionarioBaseInterface.java b/src/funcionariosStarlabs/FuncionarioBaseInterface.java deleted file mode 100644 index 191f747..0000000 --- a/src/funcionariosStarlabs/FuncionarioBaseInterface.java +++ /dev/null @@ -1,12 +0,0 @@ -package funcionariosStarlabs; - -public interface FuncionarioBaseInterface { - String getNome(); - void setNome(String nome); - String getCargo(); - void setCargo(String cargo); - double getSalario(); - void setSalario(double salario); - String getCpf(); - void setCpf(String cpf); -} \ No newline at end of file diff --git a/src/funcionariosStarlabs/FuncionarioBaseNode.java b/src/funcionariosStarlabs/FuncionarioBaseNode.java deleted file mode 100644 index ca27792..0000000 --- a/src/funcionariosStarlabs/FuncionarioBaseNode.java +++ /dev/null @@ -1,13 +0,0 @@ -package funcionariosStarlabs; - -public class FuncionarioBaseNode { - FuncionarioBase funcionario; - FuncionarioBaseNode leftChild; - FuncionarioBaseNode rightChild; - - public FuncionarioBaseNode(FuncionarioBase funcionario) { - this.funcionario = funcionario; - leftChild = null; - rightChild = null; - } -} diff --git a/src/funcionariosStarlabs/VPDeEngenharia.java b/src/funcionariosStarlabs/VPDeEngenharia.java deleted file mode 100644 index 98c7b79..0000000 --- a/src/funcionariosStarlabs/VPDeEngenharia.java +++ /dev/null @@ -1,26 +0,0 @@ -package funcionariosStarlabs; - -public class VPDeEngenharia extends FuncionarioBase { - - public VPDeEngenharia(String nome, String Cargo, double salario, String cpf) { - super(nome, Cargo, salario, cpf); - } - - public void criar() { - System.out.println("VP de Engenharia criado com sucesso!"); - } - - public void ler() { - System.out.println("Nome " + nome + ", Cargo: " + cargo + ", Salário: R$" + salario); - } - - public void atualizarDados(double novoSalario, String novoCargo) { - this.salario = novoSalario; - this.cargo = novoCargo; - System.out.println("Dados do VP atualizado com sucesso!"); - } - - public void remover() { - System.out.println("VP removido com sucesso"); - } -}