diff options
author | Florian Schmaus <flo@geekplace.eu> | 2014-06-08 13:18:46 +0200 |
---|---|---|
committer | Florian Schmaus <flo@geekplace.eu> | 2014-06-08 13:27:25 +0200 |
commit | 3236432c39f1d5a1bbbe362c5cfdb088756fd04f (patch) | |
tree | 3e67a0bed7fdd2d7525eca395c7f0dfd44bc64f5 /src/main/java/de/measite/minidns/Question.java | |
parent | 152be6eb1a22da8cebe24ac4ee05b487936c9f2a (diff) |
Make minidns Android agnostic
there is really no need for minidns to be Android exclusive. Replacing
the Android log API with JUL make minidns available for Android and Java
SE.
Diffstat (limited to 'src/main/java/de/measite/minidns/Question.java')
-rw-r--r-- | src/main/java/de/measite/minidns/Question.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/main/java/de/measite/minidns/Question.java b/src/main/java/de/measite/minidns/Question.java new file mode 100644 index 00000000..9d1e3f56 --- /dev/null +++ b/src/main/java/de/measite/minidns/Question.java @@ -0,0 +1,62 @@ +package de.measite.minidns; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +import de.measite.minidns.Record.CLASS; +import de.measite.minidns.Record.TYPE; +import de.measite.minidns.util.NameUtil; + +public class Question { + + private String name; + + private TYPE type; + + private CLASS clazz = CLASS.IN; + + public TYPE getType() { + return type; + } + + public void setType(TYPE type) { + this.type = type; + } + + public CLASS getClazz() { + return clazz; + } + + public void setClazz(CLASS clazz) { + this.clazz = clazz; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public void parse(DataInputStream dis, byte[] data) throws IOException { + this.name = NameUtil.parse(dis, data); + this.type = TYPE.getType(dis.readUnsignedShort()); + this.clazz = CLASS.getClass(dis.readUnsignedShort()); + } + + public byte[] toByteArray() throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(512); + DataOutputStream dos = new DataOutputStream(baos); + + dos.write(NameUtil.toByteArray(this.name)); + dos.writeShort(type.getValue()); + dos.writeShort(clazz.getValue()); + + dos.flush(); + return baos.toByteArray(); + } + +} |