Files
narya/src/as/com/threerings/io/streamers/ArrayStreamer.as
T
Ray Greenwell 1d36299e3c Some work on streaming.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3855 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-15 01:41:14 +00:00

40 lines
982 B
ActionScript

package com.threerings.io.streamers {
import com.threerings.io.ObjectInputStream;
import com.threerings.io.ObjectOutputStream;
import com.threerings.io.Streamer;
/**
* A Streamer for Array objects.
*/
public class ArrayStreamer extends Streamer
{
public function ArrayStreamer ()
{
super(Array, "[Ljava.lang.Object");
}
public override function createObject (ins :ObjectInputStream) :*
{
return new Array(ins.readInt());
}
public override function writeObject (obj :*, out :ObjectOutputStream) :void
{
var arr :Array = (obj as Array);
out.writeInt(arr.length);
for (var ii :int = 0; ii < arr.length; ii++) {
out.writeObject(arr[ii]);
}
}
public override function readObject (obj :*, ins :ObjectInputStream) :void
{
var arr :Array = (obj as Array);
for (var ii :int = 0; ii < arr.length; ii++) {
arr[ii] = ins.readObject();
}
}
}
}