/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package controleEstoque.estruturaDados;
import controleEstoque.entidades.Fornecedor;
/**
*
* @author User
*/
public class ListaFornecedor {
No inicio;
/**
* Retorna a lista completa.
* @return
*/
public No getInicio() {
return inicio;
}
public void setInicio(No inicio) {
this.inicio = inicio;
}
/**
* Adiciona um novo fornecedor a lista
* @param fornecedor
*/
public void adiciona(Fornecedor fornecedor){
No novo = new No(fornecedor);
if(inicio == null){
inicio = novo;
}else{
No aux = inicio;
while(aux.prox != null){
aux = aux.prox;
}
aux.prox = novo;
}
}
/**
* Remove um fornecedor da lista
* @param fornecedor Fornecedor a ser removido
* @return
*/
public Fornecedor remove(Fornecedor fornecedor){
Fornecedor fornecedorRetorno = new Fornecedor();
No lista = this.inicio;
while(lista.getProx() != null){
if(lista.getObjeto() == fornecedor){
fornecedorRetorno = fornecedor;
}
lista.setObjeto(lista.getProx());
}
return fornecedorRetorno;
}
/**
* Altera os dados de um objeto fornecedor
* @param fornecedorAntigo fornecedor como está cadastrado no sistema
* @param fornecedorNovo os dados novos do fornecedor
* @return true se o fornecedor foi alterado
*/
public boolean alteraFornecedor(Fornecedor fornecedorAntigo, Fornecedor fornecedorNovo){
boolean alterar = false;
No lista = this.inicio;
while(lista.getProx() != null){
if(lista.getObjeto() == fornecedorAntigo){
alterar = true;
}
if(!alterar)
lista.setObjeto(lista.getProx());
else{
lista.setObjeto(fornecedorNovo);
break;
}
}
return alterar;
}
public No getLista(){
return inicio;
}
public void setLista(No lista){
this.inicio = lista;
}
/**
* Retorna a quantidade de objetos da lista
* @return
*/
public int count(){
int i = 0;
No aux = inicio;
while(aux != null){
i++;
aux = aux.getProx();
}
return i;
}
/**
* Percorre a lista e retorna uma String com os objetos
* @return
*/
public String percorreLista(){
String lista = "";
No aux = inicio;
while(aux != null){
lista += aux.getObjeto().toString();
aux = aux.getProx();
}
return lista;
}
}