/*
* 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<ObjectSaved> saves;
public LinkedList<ObjectSaved> getSaves() {
return saves;
}
public void setSaves(LinkedList<ObjectSaved> 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<ObjectSaved>();
}
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<ObjectSaved> 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<ObjectSaved> deserializaLista() throws EOFException {
String arquivo = "Project/saved.dat";
FileInputStream arqLeitura = null;
ObjectInputStream in = null;
LinkedList<ObjectSaved> 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<ObjectSaved>) in.readObject();
//recupera os dados
//lista = (List<ObjectSaved>) 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();
}
}