diff --git a/src/main/java/com/cjburkey/claimchunk/chunk/ChunkHandler.java b/src/main/java/com/cjburkey/claimchunk/chunk/ChunkHandler.java index de274f8e..302e5a02 100644 --- a/src/main/java/com/cjburkey/claimchunk/chunk/ChunkHandler.java +++ b/src/main/java/com/cjburkey/claimchunk/chunk/ChunkHandler.java @@ -10,16 +10,15 @@ import org.bukkit.World; import org.bukkit.entity.Player; import com.cjburkey.claimchunk.ClaimChunk; -import com.cjburkey.claimchunk.data.DataChunk; -import com.cjburkey.claimchunk.data.DataStorage; +import com.cjburkey.claimchunk.data.JsonDataStorage; public final class ChunkHandler { private final Map claimed = new ConcurrentHashMap<>(); - private final DataStorage data; + private final JsonDataStorage data; public ChunkHandler(File saveFile) { - data = new DataStorage<>(DataChunk[].class, saveFile); + data = new JsonDataStorage<>(DataChunk[].class, saveFile); } /** @@ -108,17 +107,17 @@ public boolean hasChunk(UUID uniqueId) { } public void writeToDisk() throws IOException { - data.emptyObjects(); + data.clearData(); for (Entry entry : claimed.entrySet()) { - data.addObject(new DataChunk(entry.getKey(), entry.getValue())); + data.addData(new DataChunk(entry.getKey(), entry.getValue())); } - data.write(); + data.saveData(); } public void readFromDisk() throws IOException { - data.read(); + data.reloadData(); claimed.clear(); - for (DataChunk c : data.getObjects()) { + for (DataChunk c : data.getData()) { claimed.put(c.chunk, c.player); } } diff --git a/src/main/java/com/cjburkey/claimchunk/data/DataChunk.java b/src/main/java/com/cjburkey/claimchunk/chunk/DataChunk.java similarity index 71% rename from src/main/java/com/cjburkey/claimchunk/data/DataChunk.java rename to src/main/java/com/cjburkey/claimchunk/chunk/DataChunk.java index 905eb97b..db400231 100644 --- a/src/main/java/com/cjburkey/claimchunk/data/DataChunk.java +++ b/src/main/java/com/cjburkey/claimchunk/chunk/DataChunk.java @@ -1,7 +1,6 @@ -package com.cjburkey.claimchunk.data; +package com.cjburkey.claimchunk.chunk; import java.util.UUID; -import com.cjburkey.claimchunk.chunk.ChunkPos; public class DataChunk { diff --git a/src/main/java/com/cjburkey/claimchunk/data/IDataStorage.java b/src/main/java/com/cjburkey/claimchunk/data/IDataStorage.java new file mode 100644 index 00000000..6c962c5a --- /dev/null +++ b/src/main/java/com/cjburkey/claimchunk/data/IDataStorage.java @@ -0,0 +1,13 @@ +package com.cjburkey.claimchunk.data; + +import java.util.List; + +public interface IDataStorage { + + List getData(); + void addData(T data); + void saveData() throws Exception; + void reloadData() throws Exception; + void clearData(); + +} \ No newline at end of file diff --git a/src/main/java/com/cjburkey/claimchunk/data/DataStorage.java b/src/main/java/com/cjburkey/claimchunk/data/JsonDataStorage.java similarity index 83% rename from src/main/java/com/cjburkey/claimchunk/data/DataStorage.java rename to src/main/java/com/cjburkey/claimchunk/data/JsonDataStorage.java index 0048cfef..e62a6044 100644 --- a/src/main/java/com/cjburkey/claimchunk/data/DataStorage.java +++ b/src/main/java/com/cjburkey/claimchunk/data/JsonDataStorage.java @@ -11,19 +11,19 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; -public class DataStorage { +public class JsonDataStorage implements IDataStorage { private final List data = new ArrayList<>(); private final Class referenceClass; private File file; - public DataStorage(Class referenceClass, File file) { + public JsonDataStorage(Class referenceClass, File file) { this.file = file; this.referenceClass = referenceClass; data.clear(); } - public void write() throws IOException { + public void saveData() throws IOException { if (file == null) { return; } @@ -47,7 +47,7 @@ public void write() throws IOException { } } - public void read() throws IOException { + public void reloadData() throws IOException { if (file == null || !file.exists()) { return; } @@ -73,15 +73,15 @@ public void read() throws IOException { } } - public void addObject(T obj) { - data.add(obj); + public void addData(T toAdd) { + data.add(toAdd); } - public void emptyObjects() { + public void clearData() { data.clear(); } - public List getObjects() { + public List getData() { return new ArrayList<>(data); } diff --git a/src/main/java/com/cjburkey/claimchunk/data/SqlDataStorage.java b/src/main/java/com/cjburkey/claimchunk/data/SqlDataStorage.java new file mode 100644 index 00000000..11dbf0e4 --- /dev/null +++ b/src/main/java/com/cjburkey/claimchunk/data/SqlDataStorage.java @@ -0,0 +1,30 @@ +package com.cjburkey.claimchunk.data; + +import java.util.ArrayList; +import java.util.List; + +public class SqlDataStorage implements IDataStorage { + + private final List storage = new ArrayList<>(); + + public void saveData() { + + } + + public void reloadData() { + + } + + public void addData(T data) { + storage.add(data); + } + + public void clearData() { + storage.clear(); + } + + public List getData() { + return new ArrayList<>(storage); + } + +} \ No newline at end of file diff --git a/src/main/java/com/cjburkey/claimchunk/data/DataPlayer.java b/src/main/java/com/cjburkey/claimchunk/player/DataPlayer.java similarity index 95% rename from src/main/java/com/cjburkey/claimchunk/data/DataPlayer.java rename to src/main/java/com/cjburkey/claimchunk/player/DataPlayer.java index af57584f..488cec39 100644 --- a/src/main/java/com/cjburkey/claimchunk/data/DataPlayer.java +++ b/src/main/java/com/cjburkey/claimchunk/player/DataPlayer.java @@ -1,4 +1,4 @@ -package com.cjburkey.claimchunk.data; +package com.cjburkey.claimchunk.player; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/cjburkey/claimchunk/player/PlayerHandler.java b/src/main/java/com/cjburkey/claimchunk/player/PlayerHandler.java index dbba5e02..f098b422 100644 --- a/src/main/java/com/cjburkey/claimchunk/player/PlayerHandler.java +++ b/src/main/java/com/cjburkey/claimchunk/player/PlayerHandler.java @@ -8,16 +8,15 @@ import java.util.UUID; import java.util.concurrent.ConcurrentLinkedQueue; import org.bukkit.entity.Player; -import com.cjburkey.claimchunk.data.DataPlayer; -import com.cjburkey.claimchunk.data.DataStorage; +import com.cjburkey.claimchunk.data.JsonDataStorage; public class PlayerHandler { private final Queue playerData = new ConcurrentLinkedQueue<>(); - private final DataStorage data; + private final JsonDataStorage data; public PlayerHandler(File file) { - data = new DataStorage<>(DataPlayer[].class, file); + data = new JsonDataStorage<>(DataPlayer[].class, file); } /** @@ -127,17 +126,17 @@ public void addOldPlayerData(UUID id, String name) { } public void writeToDisk() throws IOException { - data.emptyObjects(); + data.clearData(); for (DataPlayer a : playerData) { - data.addObject(a.clone()); + data.addData(a.clone()); } - data.write(); + data.saveData(); } public void readFromDisk() throws IOException { - data.read(); + data.reloadData(); playerData.clear(); - for (DataPlayer ply : data.getObjects()) { + for (DataPlayer ply : data.getData()) { playerData.add(ply.clone()); } }