home *** CD-ROM | disk | FTP | other *** search
- package java.io;
-
- final class ObjectOutputStream$PutFieldImpl extends ObjectOutputStream.PutField {
- private byte[] data;
- private Object[] objects;
- private ObjectStreamClass desc;
- // $FF: synthetic field
- static Class class$java$lang$Object;
-
- public void put(String var1, boolean var2) throws IllegalArgumentException {
- ObjectStreamField var3 = this.desc.getField(var1, Boolean.TYPE);
- if (var3 != null && var3.getType() == Boolean.TYPE) {
- this.data[var3.getOffset()] = (byte)(var2 ? 1 : 0);
- } else {
- throw new IllegalArgumentException("No such boolean field");
- }
- }
-
- public void put(String var1, char var2) {
- ObjectStreamField var3 = this.desc.getField(var1, Character.TYPE);
- if (var3 != null && var3.getType() == Character.TYPE) {
- this.data[var3.getOffset()] = (byte)(var2 >> 8);
- this.data[var3.getOffset() + 1] = (byte)var2;
- } else {
- throw new IllegalArgumentException("No such char field");
- }
- }
-
- public void put(String var1, byte var2) {
- ObjectStreamField var3 = this.desc.getField(var1, Byte.TYPE);
- if (var3 != null && var3.getType() == Byte.TYPE) {
- this.data[var3.getOffset()] = var2;
- } else {
- throw new IllegalArgumentException("No such byte field");
- }
- }
-
- public void put(String var1, short var2) {
- ObjectStreamField var3 = this.desc.getField(var1, Short.TYPE);
- if (var3 != null && var3.getType() == Short.TYPE) {
- int var4 = var3.getOffset();
- this.data[var4] = (byte)(var2 >> 8);
- this.data[var4 + 1] = (byte)var2;
- } else {
- throw new IllegalArgumentException("No such short field");
- }
- }
-
- public void put(String var1, int var2) {
- ObjectStreamField var3 = this.desc.getField(var1, Integer.TYPE);
- if (var3 != null && var3.getType() == Integer.TYPE) {
- int var4 = var3.getOffset();
- this.data[var4] = (byte)(var2 >> 24);
- this.data[var4 + 1] = (byte)(var2 >> 16);
- this.data[var4 + 2] = (byte)(var2 >> 8);
- this.data[var4 + 3] = (byte)var2;
- } else {
- throw new IllegalArgumentException("No such int field");
- }
- }
-
- public void put(String var1, long var2) {
- ObjectStreamField var4 = this.desc.getField(var1, Long.TYPE);
- if (var4 != null && var4.getType() == Long.TYPE) {
- int var5 = var4.getOffset();
- this.data[var5] = (byte)((int)(var2 >> 56));
- this.data[var5 + 1] = (byte)((int)(var2 >> 48));
- this.data[var5 + 2] = (byte)((int)(var2 >> 40));
- this.data[var5 + 3] = (byte)((int)(var2 >> 32));
- this.data[var5 + 4] = (byte)((int)(var2 >> 24));
- this.data[var5 + 5] = (byte)((int)(var2 >> 16));
- this.data[var5 + 6] = (byte)((int)(var2 >> 8));
- this.data[var5 + 7] = (byte)((int)var2);
- } else {
- throw new IllegalArgumentException("No such long field");
- }
- }
-
- public void put(String var1, float var2) {
- int var3 = Float.floatToIntBits(var2);
- ObjectStreamField var4 = this.desc.getField(var1, Float.TYPE);
- if (var4 != null && var4.getType() == Float.TYPE) {
- int var5 = var4.getOffset();
- this.data[var5] = (byte)(var3 >> 24);
- this.data[var5 + 1] = (byte)(var3 >> 16);
- this.data[var5 + 2] = (byte)(var3 >> 8);
- this.data[var5 + 3] = (byte)var3;
- } else {
- throw new IllegalArgumentException("No such float field");
- }
- }
-
- public void put(String var1, double var2) {
- long var4 = Double.doubleToLongBits(var2);
- ObjectStreamField var6 = this.desc.getField(var1, Double.TYPE);
- if (var6 != null && var6.getType() == Double.TYPE) {
- int var7 = var6.getOffset();
- this.data[var7] = (byte)((int)(var4 >> 56));
- this.data[var7 + 1] = (byte)((int)(var4 >> 48));
- this.data[var7 + 2] = (byte)((int)(var4 >> 40));
- this.data[var7 + 3] = (byte)((int)(var4 >> 32));
- this.data[var7 + 4] = (byte)((int)(var4 >> 24));
- this.data[var7 + 5] = (byte)((int)(var4 >> 16));
- this.data[var7 + 6] = (byte)((int)(var4 >> 8));
- this.data[var7 + 7] = (byte)((int)var4);
- } else {
- throw new IllegalArgumentException("No such double field");
- }
- }
-
- public void put(String var1, Object var2) {
- ObjectStreamField var3 = this.desc.getField(var1, class$java$lang$Object == null ? (class$java$lang$Object = class$("java.lang.Object")) : class$java$lang$Object);
- if (var3 != null && !var3.isPrimitive()) {
- this.objects[var3.getOffset()] = var2;
- } else {
- throw new IllegalArgumentException("No such object field");
- }
- }
-
- public void write(ObjectOutput var1) throws IOException {
- if (this.data != null) {
- var1.write(this.data, 0, this.data.length);
- }
-
- if (this.objects != null) {
- for(int var2 = 0; var2 < this.objects.length; ++var2) {
- var1.writeObject(this.objects[var2]);
- }
- }
-
- }
-
- ObjectOutputStream$PutFieldImpl(ObjectStreamClass var1) {
- this.desc = var1;
- if (this.desc.numPrimBytes > 0) {
- this.data = new byte[this.desc.numPrimBytes];
- }
-
- if (this.desc.numObjFields > 0) {
- this.objects = new Object[this.desc.numObjFields];
- }
-
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
- }
-