Serialize.java 3.76 KB
   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
/*
* 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();
}
}