summaryrefslogtreecommitdiffstats
path: root/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec
diff options
context:
space:
mode:
Diffstat (limited to 'Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec')
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecBoolean.java37
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMicroseconds.java48
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMilliseconds.java44
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeNanoseconds.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeSeconds.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat32.java42
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat64.java43
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv4Address.java57
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv6Address.java34
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecMacAddress.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecOctetArray.java48
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned16.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned32.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned64.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned8.java36
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecString.java48
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned16.java56
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned32.java58
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned64.java67
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned8.java43
-rw-r--r--Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/package.html3
21 files changed, 880 insertions, 0 deletions
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecBoolean.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecBoolean.java
new file mode 100644
index 0000000..50ff420
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecBoolean.java
@@ -0,0 +1,37 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecBoolean implements IpfixIeCodec {
+ // private Logger logger = LoggerFactory.getLogger(getClass());
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.BOOLEAN;
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMicroseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMicroseconds.java
new file mode 100644
index 0000000..66e8e63
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMicroseconds.java
@@ -0,0 +1,48 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.math.BigInteger;
+import java.nio.ByteBuffer;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecDateTimeMicroseconds implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.DATETIMEMILLISECONDS;
+ }
+ public BigInteger getBigInteger(ByteBuffer setBuffer) {
+ // TODO add support to compressed encodings
+ int fieldLength=8;
+ byte[] ba = new byte[fieldLength+1];
+ ba[0]=0;
+ setBuffer.get(ba,1,fieldLength);
+ return new BigInteger(ba);
+ }
+
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMilliseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMilliseconds.java
new file mode 100644
index 0000000..eaecbea
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeMilliseconds.java
@@ -0,0 +1,44 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.math.BigInteger;
+import java.nio.ByteBuffer;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecDateTimeMilliseconds implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.DATETIMEMICROSECONDS;
+ }
+ public BigInteger getBigInteger(ByteBuffer setBuffer){
+ byte bb [] = new byte[fieldLength];
+ setBuffer.get(bb);
+ return new BigInteger(bb);
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeNanoseconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeNanoseconds.java
new file mode 100644
index 0000000..a0fa6cb
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeNanoseconds.java
@@ -0,0 +1,36 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecDateTimeNanoseconds implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.DATETIMENANOSECONDS;
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeSeconds.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeSeconds.java
new file mode 100644
index 0000000..b5efeb3
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecDateTimeSeconds.java
@@ -0,0 +1,36 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecDateTimeSeconds implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.DATETIMESECONDS;
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat32.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat32.java
new file mode 100644
index 0000000..55ae82f
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat32.java
@@ -0,0 +1,42 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.nio.ByteBuffer;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecFloat32 implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.FLOAT32;
+ }
+ // TODO review
+ public float getFloat(ByteBuffer setBuffer) {
+ return setBuffer.getFloat();
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat64.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat64.java
new file mode 100644
index 0000000..38da2a8
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecFloat64.java
@@ -0,0 +1,43 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.nio.ByteBuffer;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecFloat64 implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.FLOAT64;
+ }
+ // TODO review
+ public double getDouble(ByteBuffer setBuffer) {
+ return setBuffer.getDouble();
+ }
+
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv4Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv4Address.java
new file mode 100644
index 0000000..0827dd4
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv4Address.java
@@ -0,0 +1,57 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.net.Inet4Address;
+import java.net.UnknownHostException;
+import java.nio.ByteBuffer;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecIpv4Address implements IpfixIeCodec {
+ // -- sys --
+ private Logger logger = LoggerFactory.getLogger(getClass());
+ // -- model --
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ public Inet4Address getAddress(ByteBuffer setBuffer) {
+ byte[] ba = new byte[4];
+ setBuffer.get(ba);
+ Inet4Address addr = null;
+ try {
+ addr = (Inet4Address) Inet4Address.getByAddress(ba);
+ } catch (UnknownHostException e) {
+ logger.warn("Invalid IPv4 address.", e.toString());
+ }
+ return addr;
+ }
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.IPV4ADDRESS;
+ }
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv6Address.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv6Address.java
new file mode 100644
index 0000000..ed93273
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecIpv6Address.java
@@ -0,0 +1,34 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecIpv6Address implements IpfixIeCodec {
+ protected int fieldLength=getDataType().getDefaultLength();
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.IPV6ADDRESS;
+ }
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecMacAddress.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecMacAddress.java
new file mode 100644
index 0000000..d9694bb
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecMacAddress.java
@@ -0,0 +1,36 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecMacAddress implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.MACADDRESS;
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecOctetArray.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecOctetArray.java
new file mode 100644
index 0000000..8f01c2d
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecOctetArray.java
@@ -0,0 +1,48 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecOctetArray implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.OCTETARRAY;
+ }
+ public ByteBuffer getByteBuffer( ByteBuffer setBuffer ){
+ return VariableLength.getByteBuffer(setBuffer);
+ }
+ public String getString(ByteBuffer setBuffer, String charset ) throws UnsupportedEncodingException{
+ ByteBuffer bbuf = VariableLength.getByteBuffer(setBuffer);
+ byte[] bytes = new byte[bbuf.remaining()];
+ bbuf.get(bytes);
+ return new String(bytes,charset);
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned16.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned16.java
new file mode 100644
index 0000000..4396822
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned16.java
@@ -0,0 +1,36 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecSigned16 implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.SIGNED16;
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned32.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned32.java
new file mode 100644
index 0000000..886c486
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned32.java
@@ -0,0 +1,36 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecSigned32 implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.SIGNED32;
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned64.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned64.java
new file mode 100644
index 0000000..70ff44f
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned64.java
@@ -0,0 +1,36 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecSigned64 implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.SIGNED64;
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned8.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned8.java
new file mode 100644
index 0000000..12c4b5c
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecSigned8.java
@@ -0,0 +1,36 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecSigned8 implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.SIGNED8;
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecString.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecString.java
new file mode 100644
index 0000000..0cd0949
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecString.java
@@ -0,0 +1,48 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecString implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.STRING;
+ }
+
+ public ByteBuffer getByteBuffer( ByteBuffer setBuffer ){
+ return VariableLength.getByteBuffer(setBuffer);
+ }
+ public String getString(ByteBuffer setBuffer) throws UnsupportedEncodingException{
+ ByteBuffer bbuf = VariableLength.getByteBuffer(setBuffer);
+ byte[] bytes = new byte[bbuf.remaining()];
+ bbuf.get(bytes);
+ return new String(bytes,"UTF-8");
+ }
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned16.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned16.java
new file mode 100644
index 0000000..c85748b
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned16.java
@@ -0,0 +1,56 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.nio.ByteBuffer;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+import de.fhg.fokus.net.ipfix.util.ByteBufferUtil;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecUnsigned16 implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+ // -- sys --
+ private static final Logger logger = LoggerFactory
+ .getLogger(IpfixIeCodecUnsigned16.class);
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.UNSIGNED16;
+ }
+ public int getInt(ByteBuffer setBuffer) {
+ if (fieldLength == 2) {
+ return ByteBufferUtil.getUnsignedShort(setBuffer);
+ } else if (fieldLength == 1) {
+ return ByteBufferUtil.getUnsignedByte(setBuffer);
+ }
+ logger.warn("Invalid unsigned16 encoding, returning 0., length:{}",
+ fieldLength);
+ return 0;
+ }
+
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned32.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned32.java
new file mode 100644
index 0000000..ff2aea9
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned32.java
@@ -0,0 +1,58 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.nio.ByteBuffer;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+import de.fhg.fokus.net.ipfix.util.ByteBufferUtil;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecUnsigned32 implements IpfixIeCodec {
+ // -- sys --
+ private static final Logger logger = LoggerFactory
+ .getLogger(IpfixIeCodecUnsigned32.class);
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.UNSIGNED32;
+ }
+
+ public long getLong(ByteBuffer setBuffer) {
+ if (fieldLength == 4) {
+ return ByteBufferUtil.getUnsignedInt(setBuffer);
+ } else if (fieldLength == 2) {
+ return ByteBufferUtil.getUnsignedShort(setBuffer);
+ } else if (fieldLength == 1) {
+ return ByteBufferUtil.getUnsignedByte(setBuffer);
+ }
+ logger.warn("Invalid unsigned32 encoding, returning 0., length:{}",
+ fieldLength);
+ return 0;
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned64.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned64.java
new file mode 100644
index 0000000..dd62997
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned64.java
@@ -0,0 +1,67 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.math.BigInteger;
+import java.nio.ByteBuffer;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+import de.fhg.fokus.net.ipfix.util.ByteBufferUtil;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public abstract class IpfixIeCodecUnsigned64 implements IpfixIeCodec {
+ /**
+ * You must set this.
+ */
+ protected int fieldLength;
+ // -- sys --
+ private static final Logger logger = LoggerFactory
+ .getLogger(IpfixIeCodecUnsigned64.class);
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.UNSIGNED64;
+ }
+ public long getLong(ByteBuffer setBuffer) {
+ if (fieldLength == 4) {
+ return ByteBufferUtil.getUnsignedInt(setBuffer);
+ } else if (fieldLength == 2) {
+ return ByteBufferUtil.getUnsignedShort(setBuffer);
+ } else if (fieldLength == 1) {
+ return ByteBufferUtil.getUnsignedByte(setBuffer);
+ }
+ logger.warn("Invalid unsigned64 encoding, returning 0., length:{}",
+ fieldLength);
+ return 0;
+ }
+
+ public BigInteger getBigInteger(ByteBuffer setBuffer) {
+ byte[] ba = new byte[fieldLength+1];
+ ba[0]=0;
+ setBuffer.get(ba,1,fieldLength);
+ return new BigInteger(ba);
+ }
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned8.java b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned8.java
new file mode 100644
index 0000000..2e75a74
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/IpfixIeCodecUnsigned8.java
@@ -0,0 +1,43 @@
+/**
+*
+* Copyright (c) 2012, NOVI Consortium, European FP7 NOVI Project
+* Copyright according to BSD License
+* For full text of the license see: ./novi/Software/Monitoring/MonitoringTool/PacketTracking/license.txt
+*
+* @author <a href="mailto:ramon.masek@fokus.fraunhofer.de">Ramon Masek</a>, Fraunhofer FOKUS
+* @author <a href="mailto:c.henke@tu-berlin.de">Christian Henke</a>, Technical University Berlin
+* @author <a href="mailto:carsten.schmoll@fokus.fraunhofer.de">Carsten Schmoll</a>, Fraunhofer FOKUS
+* @author <a href="mailto:Julian.Vetter@campus.tu-berlin.de">Julian Vetter</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Jens Krenzin</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Michael Gehring</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Tacio Grespan Santos</a>, Fraunhofer FOKUS
+* @author <a href="mailto:">Fabian Wolff</a>, Fraunhofer FOKUS
+*
+*/
+
+package de.fhg.fokus.net.ipfix.api.codec;
+
+import java.nio.ByteBuffer;
+
+import de.fhg.fokus.net.ipfix.api.IpfixIeCodec;
+import de.fhg.fokus.net.ipfix.api.IpfixIeDataTypes;
+import de.fhg.fokus.net.ipfix.util.ByteBufferUtil;
+
+/**
+ *
+ * @author FhG-FOKUS NETwork Research
+ *
+ */
+public class IpfixIeCodecUnsigned8 implements IpfixIeCodec {
+ protected int fieldLength = getDataType().getDefaultLength();
+
+ @Override
+ public IpfixIeDataTypes getDataType() {
+ return IpfixIeDataTypes.UNSIGNED8;
+ }
+
+ public short getShort( ByteBuffer setBuffer){
+ return ByteBufferUtil.getUnsignedByte(setBuffer);
+ }
+
+}
diff --git a/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/package.html b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/package.html
new file mode 100644
index 0000000..92eb4fa
--- /dev/null
+++ b/Monitoring/MonitoringTool/PacketTracking/ipfix4java/ipfix-api/src/main/java/de/fhg/fokus/net/ipfix/api/codec/package.html
@@ -0,0 +1,3 @@
+<html><head></head><body>
+IPFIX API (coders and decoders)
+</body></html> \ No newline at end of file