summaryrefslogtreecommitdiff
path: root/src/main/java/serialize/VSSerializable.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/serialize/VSSerializable.java')
-rw-r--r--src/main/java/serialize/VSSerializable.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/serialize/VSSerializable.java b/src/main/java/serialize/VSSerializable.java
new file mode 100644
index 0000000..c115ad9
--- /dev/null
+++ b/src/main/java/serialize/VSSerializable.java
@@ -0,0 +1,34 @@
+package serialize;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+/**
+ * The Interface VSSerializable, all classes which take part of the serialize/
+ * deserialize proces are implementing this interface. It is preferred over the
+ * standard Serializable interface of Java because we want not serialize the
+ * whole class tree of each class but certain variables only!
+ *
+ * @author Paul C. Buetow
+ */
+public interface VSSerializable {
+ /**
+ * Serializes
+ *
+ * @param serialize The serialize object
+ * @param objectOutputStream The object output stream
+ */
+ public void serialize(VSSerialize serialize,
+ ObjectOutputStream objectOutputStream)
+ throws IOException;
+ /**
+ * Deserializes
+ *
+ * @param serialize The serialize object
+ * @param objectInputStream The object input stream
+ */
+ public void deserialize(VSSerialize serialize,
+ ObjectInputStream objectInputStream)
+ throws IOException, ClassNotFoundException;
+}