summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ValueWriter.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2009-04-03 15:15:13 -0700
committerMark Spruiell <mes@zeroc.com>2009-04-03 15:15:13 -0700
commitb415955846ce0d5c2e0c283f897190ccd2c3616a (patch)
tree10daf6bb8a05edf5052a33f10ea16c73d8ae0d89 /java/src/IceInternal/ValueWriter.java
parentBug 3465 - Remove _adapter members from test where unecessary (diff)
downloadice-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.java75
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)