This repository has been archived on 2021-12-05. You can view files and clone it, but cannot push or open issues or pull requests.
envoy/src/main/java/envoy/client/ChatSynchronizer.java

48 lines
1.3 KiB
Java
Raw Normal View History

package envoy.client;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
/**
* Project: <strong>envoy-client</strong><br>
* File: <strong>ChatSynchronizer.java</strong><br>
* Created: <strong>27.10.2019</strong><br>
*
* @author Kai S. K. Engelbart
* @since Envoy v0.1-alpha
*/
public class ChatSynchronizer {
private File localDB;
private List<Chat> chats = new ArrayList<>();
public ChatSynchronizer(String localDBPath) {
localDB = new File(localDBPath);
if (localDB.exists() && !localDB.isDirectory()) loadFromLocalDB();
}
public void saveToLocalDB() {
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(localDB))) {
out.writeObject(chats);
} catch(IOException ex) {
ex.printStackTrace();
}
}
@SuppressWarnings("unchecked")
private void loadFromLocalDB() {
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream(localDB))) {
Object obj = in.readObject();
if (obj instanceof ArrayList<?>) chats = (ArrayList<Chat>) obj;
} catch (ClassNotFoundException | IOException e) {}
}
public List<Chat> getChats() { return chats; }
}