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 / ObjectStreamField.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.4 KB  |  194 lines

  1. package java.io;
  2.  
  3. import java.lang.reflect.Field;
  4.  
  5. public class ObjectStreamField implements Comparable {
  6.    private String name;
  7.    private char type;
  8.    private Field field;
  9.    private String typeString;
  10.    private int bufoffset;
  11.    private Class clazz;
  12.    private static final String OBJECT_TYPESTRING = new String("");
  13.    // $FF: synthetic field
  14.    static Class class$java$lang$Object;
  15.  
  16.    public ObjectStreamField(String var1, Class var2) {
  17.       this.name = var1;
  18.       this.clazz = var2;
  19.       if (var2.isPrimitive()) {
  20.          if (var2 == Integer.TYPE) {
  21.             this.type = 'I';
  22.          } else if (var2 == Byte.TYPE) {
  23.             this.type = 'B';
  24.          } else if (var2 == Long.TYPE) {
  25.             this.type = 'J';
  26.          } else if (var2 == Float.TYPE) {
  27.             this.type = 'F';
  28.          } else if (var2 == Double.TYPE) {
  29.             this.type = 'D';
  30.          } else if (var2 == Short.TYPE) {
  31.             this.type = 'S';
  32.          } else if (var2 == Character.TYPE) {
  33.             this.type = 'C';
  34.          } else if (var2 == Boolean.TYPE) {
  35.             this.type = 'Z';
  36.          }
  37.       } else if (var2.isArray()) {
  38.          this.type = '[';
  39.          this.typeString = ObjectStreamClass.getSignature(var2).intern();
  40.       } else {
  41.          this.type = 'L';
  42.          this.typeString = ObjectStreamClass.getSignature(var2).intern();
  43.       }
  44.  
  45.    }
  46.  
  47.    ObjectStreamField(Field var1) {
  48.       this(var1.getName(), var1.getType());
  49.       this.field = var1;
  50.    }
  51.  
  52.    ObjectStreamField(String var1, char var2, Field var3, String var4) {
  53.       this.name = var1;
  54.       this.type = var2;
  55.       this.field = var3;
  56.       this.typeString = var4 != null ? var4.intern() : null;
  57.    }
  58.  
  59.    private ObjectStreamField(String var1, boolean var2) {
  60.       this.name = var1;
  61.       this.setSearchKeyTypeString(var2);
  62.    }
  63.  
  64.    public String getName() {
  65.       return this.name;
  66.    }
  67.  
  68.    public Class getType() {
  69.       if (this.clazz != null) {
  70.          return this.clazz;
  71.       } else {
  72.          switch (this.type) {
  73.             case 'B':
  74.                this.clazz = Byte.TYPE;
  75.                break;
  76.             case 'C':
  77.                this.clazz = Character.TYPE;
  78.                break;
  79.             case 'D':
  80.                this.clazz = Double.TYPE;
  81.             case 'E':
  82.             case 'G':
  83.             case 'H':
  84.             case 'K':
  85.             case 'M':
  86.             case 'N':
  87.             case 'O':
  88.             case 'P':
  89.             case 'Q':
  90.             case 'R':
  91.             case 'T':
  92.             case 'U':
  93.             case 'V':
  94.             case 'W':
  95.             case 'X':
  96.             case 'Y':
  97.             default:
  98.                break;
  99.             case 'F':
  100.                this.clazz = Float.TYPE;
  101.                break;
  102.             case 'I':
  103.                this.clazz = Integer.TYPE;
  104.                break;
  105.             case 'J':
  106.                this.clazz = Long.TYPE;
  107.                break;
  108.             case 'L':
  109.             case '[':
  110.                this.clazz = class$java$lang$Object == null ? (class$java$lang$Object = class$("java.lang.Object")) : class$java$lang$Object;
  111.                break;
  112.             case 'S':
  113.                this.clazz = Short.TYPE;
  114.                break;
  115.             case 'Z':
  116.                this.clazz = Boolean.TYPE;
  117.          }
  118.  
  119.          return this.clazz;
  120.       }
  121.    }
  122.  
  123.    public char getTypeCode() {
  124.       return this.type;
  125.    }
  126.  
  127.    public String getTypeString() {
  128.       return this.typeString;
  129.    }
  130.  
  131.    public int getOffset() {
  132.       return this.bufoffset;
  133.    }
  134.  
  135.    protected void setOffset(int var1) {
  136.       this.bufoffset = var1;
  137.    }
  138.  
  139.    ObjectStreamField() {
  140.    }
  141.  
  142.    public boolean isPrimitive() {
  143.       return this.type != '[' && this.type != 'L';
  144.    }
  145.  
  146.    public int compareTo(Object var1) {
  147.       ObjectStreamField var2 = (ObjectStreamField)var1;
  148.       boolean var3 = this.typeString == null;
  149.       boolean var4 = var2.typeString == null;
  150.       if (var3 != var4) {
  151.          return var3 ? -1 : 1;
  152.       } else {
  153.          return this.name.compareTo(var2.name);
  154.       }
  155.    }
  156.  
  157.    public String toString() {
  158.       return this.typeString != null ? this.typeString + " " + this.name : this.type + " " + this.name;
  159.    }
  160.  
  161.    boolean typeEquals(ObjectStreamField var1) {
  162.       if (var1 != null && this.type == var1.type) {
  163.          return this.typeString == var1.typeString ? true : ObjectStreamClass.compareClassNames(this.typeString, var1.typeString, '/');
  164.       } else {
  165.          return false;
  166.       }
  167.    }
  168.  
  169.    Field getField() {
  170.       return this.field;
  171.    }
  172.  
  173.    void setField(Field var1) {
  174.       this.field = var1;
  175.    }
  176.  
  177.    static ObjectStreamField constructSearchKey(String var0, Class var1) {
  178.       return new ObjectStreamField(var0, var1.isPrimitive());
  179.    }
  180.  
  181.    void setSearchKeyTypeString(boolean var1) {
  182.       this.typeString = var1 ? null : OBJECT_TYPESTRING;
  183.    }
  184.  
  185.    // $FF: synthetic method
  186.    static Class class$(String var0) {
  187.       try {
  188.          return Class.forName(var0);
  189.       } catch (ClassNotFoundException var2) {
  190.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  191.       }
  192.    }
  193. }
  194.