aboutsummaryrefslogtreecommitdiffstats
path: root/libs/minidns/src/main/java/de/measite/minidns/record/Data.java
diff options
context:
space:
mode:
Diffstat (limited to 'libs/minidns/src/main/java/de/measite/minidns/record/Data.java')
-rw-r--r--libs/minidns/src/main/java/de/measite/minidns/record/Data.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/libs/minidns/src/main/java/de/measite/minidns/record/Data.java b/libs/minidns/src/main/java/de/measite/minidns/record/Data.java
new file mode 100644
index 00000000..7f2db03a
--- /dev/null
+++ b/libs/minidns/src/main/java/de/measite/minidns/record/Data.java
@@ -0,0 +1,34 @@
+package de.measite.minidns.record;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+
+import de.measite.minidns.Record.TYPE;
+
+/**
+ * Generic payload class.
+ */
+public interface Data {
+
+ /**
+ * The payload type.
+ * @return The payload type.
+ */
+ TYPE getType();
+
+ /**
+ * Binary representation of this payload.
+ * @return The binary representation of this payload.
+ */
+ byte[] toByteArray();
+
+ /**
+ * Parse this payload.
+ * @param dis The input stream.
+ * @param data The plain data (needed for name cross references).
+ * @param length The payload length.
+ * @throws IOException on io error (read past paket boundary).
+ */
+ void parse(DataInputStream dis, byte data[], int length) throws IOException;
+
+}