/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package LOGIC; import java.io.EOFException; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.LinkedList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Dalay */ public class Serialize { private LinkedList saves; public LinkedList getSaves() { return saves; } public void setSaves(LinkedList saves) { this.saves = saves; } public Serialize(){ try { saves = deserializaLista(); } catch (EOFException ex) { System.out.println(ex+": primeira vez salvando o arquivo..."); } } public void save(String nome, ObjectList Obj){ //EstadoSistema e = new EstadoSistema(); //e.nome = nome; //ObjectSerialize.saves.add(e); ObjectSaved O = new ObjectSaved(Obj, nome); try { saves = deserializaLista(); } catch (EOFException ex) { System.out.println("primeira vez salvando o arquivo..."); } if (saves == null){ saves = new LinkedList(); } saves.add(O); serializaLista(); } public ObjectList open(int num){ return saves.get(num).getSave(); /*ObjectSerialize.saves = deserializaLista(); //Instantiations.b = ObjectSerialize.saves.get(num).b; Instantiations.canais = ObjectSerialize.saves.get(num).canais; Instantiations.component = ObjectSerialize.saves.get(num).component; Instantiations.contratos = ObjectSerialize.saves.get(num).contratos; //Instantiations.csp = ObjectSerialize.saves.get(num).csp; Instantiations.instancias = ObjectSerialize.saves.get(num).instancias; Instantiations.types = ObjectSerialize.saves.get(num).types;*/ } public void serializaLista() { LinkedList lista = saves; String arquivo = "Project/saved.dat"; FileOutputStream arq = null; ObjectOutputStream out = null; try { //arquivo no qual os dados vao ser gravados arq = new FileOutputStream(arquivo); //objeto que vai escrever os dados out = new ObjectOutputStream(arq); out.reset(); //escreve todos os dados out.writeObject(lista); } catch (IOException ex) { ex.printStackTrace(); } finally { try { arq.close(); out.close(); } catch (IOException ex) { ex.printStackTrace(); } } } public LinkedList deserializaLista() throws EOFException { String arquivo = "Project/saved.dat"; FileInputStream arqLeitura = null; ObjectInputStream in = null; LinkedList lista = null; try { //arquivo onde estao os dados serializados arqLeitura = new FileInputStream(arquivo); //objeto que vai ler os dados do arquivo in = new ObjectInputStream(arqLeitura); lista = (LinkedList) in.readObject(); //recupera os dados //lista = (List) in.readObject(); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { saves = new LinkedList(); } finally { try { arqLeitura.close(); // in.close(); } catch (IOException ex) { ex.printStackTrace(); } } return lista; } public void remove(int x){ saves.remove(x); serializaLista(); } }