diff options
author | Mark Spruiell <mes@zeroc.com> | 2009-04-03 15:15:13 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2009-04-03 15:15:13 -0700 |
commit | b415955846ce0d5c2e0c283f897190ccd2c3616a (patch) | |
tree | 10daf6bb8a05edf5052a33f10ea16c73d8ae0d89 /java/src/IceInternal/ValueWriter.java | |
parent | Bug 3465 - Remove _adapter members from test where unecessary (diff) | |
download | ice-b415955846ce0d5c2e0c283f897190ccd2c3616a.tar.bz2 ice-b415955846ce0d5c2e0c283f897190ccd2c3616a.tar.xz ice-b415955846ce0d5c2e0c283f897190ccd2c3616a.zip |
removing Java2 mapping
Diffstat (limited to 'java/src/IceInternal/ValueWriter.java')
-rw-r--r-- | java/src/IceInternal/ValueWriter.java | 75 |
1 files changed, 9 insertions, 66 deletions
diff --git a/java/src/IceInternal/ValueWriter.java b/java/src/IceInternal/ValueWriter.java index e9d5fc76d44..edd34a8d0b6 100644 --- a/java/src/IceInternal/ValueWriter.java +++ b/java/src/IceInternal/ValueWriter.java @@ -106,71 +106,14 @@ public final class ValueWriter writeFields(name, value, c, objectTable, out); } } + else if(value instanceof java.lang.Enum) + { + writeName(name, out); + out.print(((java.lang.Enum)value).name()); + } else { // - // Check for enum characteristics. - // - while(true) - { - try - { - java.lang.reflect.Field __value = c.getDeclaredField("__value"); - if(!__value.getType().equals(Integer.TYPE) || - !java.lang.reflect.Modifier.isPrivate(__value.getModifiers()) || - java.lang.reflect.Modifier.isStatic(__value.getModifiers())) - { - break; - } - java.lang.reflect.Field __values = c.getDeclaredField("__values"); - if(!__values.getType().isArray() || - !__values.getType().getComponentType().equals(c) || - !java.lang.reflect.Modifier.isPrivate(__values.getModifiers()) || - !java.lang.reflect.Modifier.isStatic(__values.getModifiers())) - { - break; - } - java.lang.reflect.Method valueMethod = c.getDeclaredMethod("value", new Class<?>[0]); - if(!valueMethod.getReturnType().equals(Integer.TYPE) || - !java.lang.reflect.Modifier.isPublic(valueMethod.getModifiers()) || - java.lang.reflect.Modifier.isStatic(valueMethod.getModifiers())) - { - break; - } - - java.lang.Object val = valueMethod.invoke(value, new java.lang.Object[0]); - assert(val instanceof Integer); - java.lang.reflect.Field[] fields = c.getDeclaredFields(); - for(int i = 0; i < fields.length; i++) - { - if(java.lang.reflect.Modifier.isPublic(fields[i].getModifiers()) && - fields[i].getType().equals(Integer.TYPE) && - fields[i].getName().startsWith("_") && - fields[i].get(null).equals(val)) - { - writeName(name, out); - out.print(fields[i].getName().substring(1)); - return; - } - } - } - catch(NoSuchFieldException ex) - { - } - catch(NoSuchMethodException ex) - { - } - catch(IllegalAccessException eX) - { - } - catch(java.lang.reflect.InvocationTargetException ex) - { - } - - break; - } - - // // Must be struct. // writeFields(name, value, c, objectTable, out); @@ -212,19 +155,19 @@ public final class ValueWriter } } assert(fields != null); - for(int i = 0; i < fields.length; i++) + for(java.lang.reflect.Field field : fields) { // // Only write public, non-static fields. // - int mods = fields[i].getModifiers(); + int mods = field.getModifiers(); if(java.lang.reflect.Modifier.isPublic(mods) && !java.lang.reflect.Modifier.isStatic(mods)) { - String fieldName = (name != null ? name + '.' + fields[i].getName() : fields[i].getName()); + String fieldName = (name != null ? name + '.' + field.getName() : field.getName()); try { - java.lang.Object value = fields[i].get(obj); + java.lang.Object value = field.get(obj); writeValue(fieldName, value, objectTable, out); } catch(IllegalAccessException ex) |