front_processing/extern/TUIO_JAVA/src/com/illposed/osc/OSCPacket.java
changeset 0 6fefd4afe506
child 9 0f44b7360c8d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/front_processing/extern/TUIO_JAVA/src/com/illposed/osc/OSCPacket.java	Fri Mar 09 14:52:11 2012 +0100
@@ -0,0 +1,60 @@
+/**
+ * @author cramakrishnan
+ *
+ * Copyright (C) 2003, C. Ramakrishnan / Illposed Software
+ * All rights reserved.
+ * 
+ * See license.txt (or license.rtf) for license information.
+ * 
+ * 
+ * OscPacket is the abstract superclass for the various
+ * kinds of OSC Messages. Its direct subclasses are:
+ *  OscMessage, OscBundle
+ *
+ * Subclasses need to know how to produce a byte array
+ * in the format specified by the OSC spec (or SuperCollider
+ * documentation, as the case may be).
+ *
+ * This implementation is based on Markus Gaelli and
+ * Iannis Zannos' OSC implementation in Squeak:
+ * http://www.emergent.de/Goodies/
+ */
+
+package com.illposed.osc;
+
+import com.illposed.osc.utility.*;
+
+public abstract class OSCPacket {
+
+	protected byte[] byteArray;
+
+	public OSCPacket() {
+		super();
+	}
+
+	protected void computeByteArray() {
+		OSCJavaToByteArrayConverter stream = new OSCJavaToByteArrayConverter();
+		computeByteArray(stream);
+	}
+
+	/**
+	 * @param stream OscPacketByteArrayConverter
+	 *
+	 * Subclasses should implement this method to product a byte array
+	 * formatted according to the OSC/SuperCollider specification.
+	 */
+	protected abstract void computeByteArray(OSCJavaToByteArrayConverter stream);
+
+	/**
+	 * @return byte[]
+	 */
+	public byte[] getByteArray() {
+		computeByteArray();
+		return byteArray;
+	}
+
+	protected void init() {
+		
+	}
+
+}
\ No newline at end of file