X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosJson.java;h=1c3a342df12504130095def04323323e59877253;hb=3ed101d634968666cd3ee2d8c49737970caf406b;hp=b981c36513939a7de503de3ce111473bf2b13a4e;hpb=173e72429fb494ea3832e3e38ee90f165fbff4cf;p=fw%2Faltos diff --git a/altoslib/AltosJson.java b/altoslib/AltosJson.java index b981c365..1c3a342d 100644 --- a/altoslib/AltosJson.java +++ b/altoslib/AltosJson.java @@ -16,7 +16,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_13; +package org.altusmetrum.altoslib_14; import java.io.*; import java.util.*; @@ -623,7 +623,7 @@ public class AltosJson extends JsonUtil { } break; case type_long: - result.append(new Long(l_number).toString()); + result.append(Long.valueOf(l_number).toString()); break; case type_string: quote(result, string); @@ -1036,6 +1036,7 @@ public class AltosJson extends JsonUtil { * all inner classes are only members of their immediate outer * class */ + @SuppressWarnings("unchecked") private Object make(Class c, Class enclosing_class, Object enclosing_object) { Object ret; if (c == Boolean.TYPE) { @@ -1105,7 +1106,7 @@ public class AltosJson extends JsonUtil { Constructor ctor = ((Class)c).getDeclaredConstructor((Class) enclosing_class); object = ctor.newInstance(enclosing_object); } else { - object = c.newInstance(); + object = c.getDeclaredConstructor().newInstance(); } for (; c != Object.class; c = c.getSuperclass()) { for (Field field : c.getDeclaredFields()) { @@ -1217,6 +1218,10 @@ public class AltosJson extends JsonUtil { } else if (object instanceof String) { type = type_string; string = (String) object; + } else if (object == null) { + System.out.printf("unexpected null object\n"); + } else if (object.getClass() == null) { + System.out.printf("unexpected null object class\n"); } else if (object.getClass().isArray()) { assert_array(true);