Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dados;
- import loja.Compra;
- import java.util.ArrayList;
- public class RepositorioComprasArray implements RepositorioCompras{
- private Compra[] compras;
- private int indice;
- public RepositorioComprasArray (){
- compras = new Compra[1];
- indice = 0;
- }
- @Override
- public void cancelar(Compra compra) throws CompraNEException {
- compras [this.indice - 1] = null;
- indice--;
- }
- @Override
- public boolean existe(String cpf) throws CpfNEException {
- return (this.getIndices(cpf).get(0) != this.indice);
- }
- @Override
- public ArrayList<Compra> procurar(String cpf) throws CpfNEException {
- ArrayList<Compra> comprasCpf = new ArrayList<Compra>();
- //se a primeira posição for igual ao indice é porque não foi encontrado o cpf.
- if (this.getIndices(cpf).get(0) == this.indice){
- throw new CpfNEException();
- }
- else {
- for (int i = 0; i < this.getIndices(cpf).size(); i++){
- comprasCpf.add(compras[this.getIndices(cpf).get(i)]);
- }
- }
- return comprasCpf;
- }
- @Override
- public void registrar(Compra compra) {
- Compra[] comprasTemp = new Compra [compras.length];
- comprasTemp = compras.clone();
- compras = new Compra [compras.length + 1];
- compras = comprasTemp.clone();
- compras [indice] = compra;
- indice++;
- }
- private ArrayList<Integer> getIndices(String cpf) {
- ArrayList<Integer> indices = new ArrayList<Integer>();
- int i = 0;
- while ((i < this.indice)) {
- if (this.compras[i].getCpf().equals(cpf)) {
- indices.add(i);
- } else {
- i = i + 1;
- }
- }
- return indices;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement