Allow streaming Class references.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5524 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -44,6 +44,7 @@ public class BasicStreamers
|
||||
Long.class,
|
||||
Float.class,
|
||||
Double.class,
|
||||
Class.class,
|
||||
String.class,
|
||||
boolean[].class,
|
||||
byte[].class,
|
||||
@@ -68,6 +69,7 @@ public class BasicStreamers
|
||||
new LongStreamer(),
|
||||
new FloatStreamer(),
|
||||
new DoubleStreamer(),
|
||||
new ClassStreamer(),
|
||||
new StringStreamer(),
|
||||
new BooleanArrayStreamer(),
|
||||
new ByteArrayStreamer(),
|
||||
@@ -225,6 +227,24 @@ public class BasicStreamers
|
||||
}
|
||||
}
|
||||
|
||||
/** Streams {@link Class} instances. */
|
||||
public static class ClassStreamer extends BasicStreamer
|
||||
{
|
||||
@Override
|
||||
public Object createObject (ObjectInputStream in)
|
||||
throws IOException, ClassNotFoundException
|
||||
{
|
||||
return in.readClassMapping().sclass;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeObject (Object object, ObjectOutputStream out, boolean useWriter)
|
||||
throws IOException
|
||||
{
|
||||
out.writeClassMapping((Class)object);
|
||||
}
|
||||
}
|
||||
|
||||
/** Streams {@link String} instances. */
|
||||
public static class StringStreamer extends BasicStreamer
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user