home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / io / ObjectOutputStream$PutFieldImpl.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.4 KB  |  154 lines

  1. package java.io;
  2.  
  3. final class ObjectOutputStream$PutFieldImpl extends ObjectOutputStream.PutField {
  4.    private byte[] data;
  5.    private Object[] objects;
  6.    private ObjectStreamClass desc;
  7.    // $FF: synthetic field
  8.    static Class class$java$lang$Object;
  9.  
  10.    public void put(String var1, boolean var2) throws IllegalArgumentException {
  11.       ObjectStreamField var3 = this.desc.getField(var1, Boolean.TYPE);
  12.       if (var3 != null && var3.getType() == Boolean.TYPE) {
  13.          this.data[var3.getOffset()] = (byte)(var2 ? 1 : 0);
  14.       } else {
  15.          throw new IllegalArgumentException("No such boolean field");
  16.       }
  17.    }
  18.  
  19.    public void put(String var1, char var2) {
  20.       ObjectStreamField var3 = this.desc.getField(var1, Character.TYPE);
  21.       if (var3 != null && var3.getType() == Character.TYPE) {
  22.          this.data[var3.getOffset()] = (byte)(var2 >> 8);
  23.          this.data[var3.getOffset() + 1] = (byte)var2;
  24.       } else {
  25.          throw new IllegalArgumentException("No such char field");
  26.       }
  27.    }
  28.  
  29.    public void put(String var1, byte var2) {
  30.       ObjectStreamField var3 = this.desc.getField(var1, Byte.TYPE);
  31.       if (var3 != null && var3.getType() == Byte.TYPE) {
  32.          this.data[var3.getOffset()] = var2;
  33.       } else {
  34.          throw new IllegalArgumentException("No such byte field");
  35.       }
  36.    }
  37.  
  38.    public void put(String var1, short var2) {
  39.       ObjectStreamField var3 = this.desc.getField(var1, Short.TYPE);
  40.       if (var3 != null && var3.getType() == Short.TYPE) {
  41.          int var4 = var3.getOffset();
  42.          this.data[var4] = (byte)(var2 >> 8);
  43.          this.data[var4 + 1] = (byte)var2;
  44.       } else {
  45.          throw new IllegalArgumentException("No such short field");
  46.       }
  47.    }
  48.  
  49.    public void put(String var1, int var2) {
  50.       ObjectStreamField var3 = this.desc.getField(var1, Integer.TYPE);
  51.       if (var3 != null && var3.getType() == Integer.TYPE) {
  52.          int var4 = var3.getOffset();
  53.          this.data[var4] = (byte)(var2 >> 24);
  54.          this.data[var4 + 1] = (byte)(var2 >> 16);
  55.          this.data[var4 + 2] = (byte)(var2 >> 8);
  56.          this.data[var4 + 3] = (byte)var2;
  57.       } else {
  58.          throw new IllegalArgumentException("No such int field");
  59.       }
  60.    }
  61.  
  62.    public void put(String var1, long var2) {
  63.       ObjectStreamField var4 = this.desc.getField(var1, Long.TYPE);
  64.       if (var4 != null && var4.getType() == Long.TYPE) {
  65.          int var5 = var4.getOffset();
  66.          this.data[var5] = (byte)((int)(var2 >> 56));
  67.          this.data[var5 + 1] = (byte)((int)(var2 >> 48));
  68.          this.data[var5 + 2] = (byte)((int)(var2 >> 40));
  69.          this.data[var5 + 3] = (byte)((int)(var2 >> 32));
  70.          this.data[var5 + 4] = (byte)((int)(var2 >> 24));
  71.          this.data[var5 + 5] = (byte)((int)(var2 >> 16));
  72.          this.data[var5 + 6] = (byte)((int)(var2 >> 8));
  73.          this.data[var5 + 7] = (byte)((int)var2);
  74.       } else {
  75.          throw new IllegalArgumentException("No such long field");
  76.       }
  77.    }
  78.  
  79.    public void put(String var1, float var2) {
  80.       int var3 = Float.floatToIntBits(var2);
  81.       ObjectStreamField var4 = this.desc.getField(var1, Float.TYPE);
  82.       if (var4 != null && var4.getType() == Float.TYPE) {
  83.          int var5 = var4.getOffset();
  84.          this.data[var5] = (byte)(var3 >> 24);
  85.          this.data[var5 + 1] = (byte)(var3 >> 16);
  86.          this.data[var5 + 2] = (byte)(var3 >> 8);
  87.          this.data[var5 + 3] = (byte)var3;
  88.       } else {
  89.          throw new IllegalArgumentException("No such float field");
  90.       }
  91.    }
  92.  
  93.    public void put(String var1, double var2) {
  94.       long var4 = Double.doubleToLongBits(var2);
  95.       ObjectStreamField var6 = this.desc.getField(var1, Double.TYPE);
  96.       if (var6 != null && var6.getType() == Double.TYPE) {
  97.          int var7 = var6.getOffset();
  98.          this.data[var7] = (byte)((int)(var4 >> 56));
  99.          this.data[var7 + 1] = (byte)((int)(var4 >> 48));
  100.          this.data[var7 + 2] = (byte)((int)(var4 >> 40));
  101.          this.data[var7 + 3] = (byte)((int)(var4 >> 32));
  102.          this.data[var7 + 4] = (byte)((int)(var4 >> 24));
  103.          this.data[var7 + 5] = (byte)((int)(var4 >> 16));
  104.          this.data[var7 + 6] = (byte)((int)(var4 >> 8));
  105.          this.data[var7 + 7] = (byte)((int)var4);
  106.       } else {
  107.          throw new IllegalArgumentException("No such double field");
  108.       }
  109.    }
  110.  
  111.    public void put(String var1, Object var2) {
  112.       ObjectStreamField var3 = this.desc.getField(var1, class$java$lang$Object == null ? (class$java$lang$Object = class$("java.lang.Object")) : class$java$lang$Object);
  113.       if (var3 != null && !var3.isPrimitive()) {
  114.          this.objects[var3.getOffset()] = var2;
  115.       } else {
  116.          throw new IllegalArgumentException("No such object field");
  117.       }
  118.    }
  119.  
  120.    public void write(ObjectOutput var1) throws IOException {
  121.       if (this.data != null) {
  122.          var1.write(this.data, 0, this.data.length);
  123.       }
  124.  
  125.       if (this.objects != null) {
  126.          for(int var2 = 0; var2 < this.objects.length; ++var2) {
  127.             var1.writeObject(this.objects[var2]);
  128.          }
  129.       }
  130.  
  131.    }
  132.  
  133.    ObjectOutputStream$PutFieldImpl(ObjectStreamClass var1) {
  134.       this.desc = var1;
  135.       if (this.desc.numPrimBytes > 0) {
  136.          this.data = new byte[this.desc.numPrimBytes];
  137.       }
  138.  
  139.       if (this.desc.numObjFields > 0) {
  140.          this.objects = new Object[this.desc.numObjFields];
  141.       }
  142.  
  143.    }
  144.  
  145.    // $FF: synthetic method
  146.    static Class class$(String var0) {
  147.       try {
  148.          return Class.forName(var0);
  149.       } catch (ClassNotFoundException var2) {
  150.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  151.       }
  152.    }
  153. }
  154.