home *** CD-ROM | disk | FTP | other *** search
- package java.io;
-
- import java.lang.reflect.Field;
-
- public class ObjectStreamField implements Comparable {
- private String name;
- private char type;
- private Field field;
- private String typeString;
- private int bufoffset;
- private Class clazz;
- private static final String OBJECT_TYPESTRING = new String("");
- // $FF: synthetic field
- static Class class$java$lang$Object;
-
- public ObjectStreamField(String var1, Class var2) {
- this.name = var1;
- this.clazz = var2;
- if (var2.isPrimitive()) {
- if (var2 == Integer.TYPE) {
- this.type = 'I';
- } else if (var2 == Byte.TYPE) {
- this.type = 'B';
- } else if (var2 == Long.TYPE) {
- this.type = 'J';
- } else if (var2 == Float.TYPE) {
- this.type = 'F';
- } else if (var2 == Double.TYPE) {
- this.type = 'D';
- } else if (var2 == Short.TYPE) {
- this.type = 'S';
- } else if (var2 == Character.TYPE) {
- this.type = 'C';
- } else if (var2 == Boolean.TYPE) {
- this.type = 'Z';
- }
- } else if (var2.isArray()) {
- this.type = '[';
- this.typeString = ObjectStreamClass.getSignature(var2).intern();
- } else {
- this.type = 'L';
- this.typeString = ObjectStreamClass.getSignature(var2).intern();
- }
-
- }
-
- ObjectStreamField(Field var1) {
- this(var1.getName(), var1.getType());
- this.field = var1;
- }
-
- ObjectStreamField(String var1, char var2, Field var3, String var4) {
- this.name = var1;
- this.type = var2;
- this.field = var3;
- this.typeString = var4 != null ? var4.intern() : null;
- }
-
- private ObjectStreamField(String var1, boolean var2) {
- this.name = var1;
- this.setSearchKeyTypeString(var2);
- }
-
- public String getName() {
- return this.name;
- }
-
- public Class getType() {
- if (this.clazz != null) {
- return this.clazz;
- } else {
- switch (this.type) {
- case 'B':
- this.clazz = Byte.TYPE;
- break;
- case 'C':
- this.clazz = Character.TYPE;
- break;
- case 'D':
- this.clazz = Double.TYPE;
- case 'E':
- case 'G':
- case 'H':
- case 'K':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- case 'X':
- case 'Y':
- default:
- break;
- case 'F':
- this.clazz = Float.TYPE;
- break;
- case 'I':
- this.clazz = Integer.TYPE;
- break;
- case 'J':
- this.clazz = Long.TYPE;
- break;
- case 'L':
- case '[':
- this.clazz = class$java$lang$Object == null ? (class$java$lang$Object = class$("java.lang.Object")) : class$java$lang$Object;
- break;
- case 'S':
- this.clazz = Short.TYPE;
- break;
- case 'Z':
- this.clazz = Boolean.TYPE;
- }
-
- return this.clazz;
- }
- }
-
- public char getTypeCode() {
- return this.type;
- }
-
- public String getTypeString() {
- return this.typeString;
- }
-
- public int getOffset() {
- return this.bufoffset;
- }
-
- protected void setOffset(int var1) {
- this.bufoffset = var1;
- }
-
- ObjectStreamField() {
- }
-
- public boolean isPrimitive() {
- return this.type != '[' && this.type != 'L';
- }
-
- public int compareTo(Object var1) {
- ObjectStreamField var2 = (ObjectStreamField)var1;
- boolean var3 = this.typeString == null;
- boolean var4 = var2.typeString == null;
- if (var3 != var4) {
- return var3 ? -1 : 1;
- } else {
- return this.name.compareTo(var2.name);
- }
- }
-
- public String toString() {
- return this.typeString != null ? this.typeString + " " + this.name : this.type + " " + this.name;
- }
-
- boolean typeEquals(ObjectStreamField var1) {
- if (var1 != null && this.type == var1.type) {
- return this.typeString == var1.typeString ? true : ObjectStreamClass.compareClassNames(this.typeString, var1.typeString, '/');
- } else {
- return false;
- }
- }
-
- Field getField() {
- return this.field;
- }
-
- void setField(Field var1) {
- this.field = var1;
- }
-
- static ObjectStreamField constructSearchKey(String var0, Class var1) {
- return new ObjectStreamField(var0, var1.isPrimitive());
- }
-
- void setSearchKeyTypeString(boolean var1) {
- this.typeString = var1 ? null : OBJECT_TYPESTRING;
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
- }
-