Another (in-place) bndlib update
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1368464 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundleplugin/src/main/java/aQute/lib/json/JSONCodec.java b/bundleplugin/src/main/java/aQute/lib/json/JSONCodec.java
index 8e608f8..47ad4ab 100644
--- a/bundleplugin/src/main/java/aQute/lib/json/JSONCodec.java
+++ b/bundleplugin/src/main/java/aQute/lib/json/JSONCodec.java
@@ -51,6 +51,7 @@
private static ByteArrayHandler byteh = new ByteArrayHandler();
boolean ignorenull;
+ boolean useHex;
/**
* Create a new Encoder with the state and appropriate API.
@@ -191,7 +192,8 @@
else if (Map.class.isAssignableFrom(rawClass))
h = new MapHandler(rawClass, pt.getActualTypeArguments()[0], pt.getActualTypeArguments()[1]);
else if (Dictionary.class.isAssignableFrom(rawClass))
- h = new MapHandler(Hashtable.class, pt.getActualTypeArguments()[0], pt.getActualTypeArguments()[1]);
+ h = new MapHandler(Hashtable.class, pt.getActualTypeArguments()[0],
+ pt.getActualTypeArguments()[1]);
else
throw new IllegalArgumentException("Found a parameterized type that is not a map or collection");
}
@@ -270,19 +272,19 @@
return h.decodeArray(isr);
case '"' :
- return h.decode(parseString(isr));
+ return h.decode(isr, parseString(isr));
case 'n' :
isr.expect("ull");
- return h.decode();
+ return h.decode(isr);
case 't' :
isr.expect("rue");
- return h.decode(Boolean.TRUE);
+ return h.decode(isr,Boolean.TRUE);
case 'f' :
isr.expect("alse");
- return h.decode(Boolean.FALSE);
+ return h.decode(isr,Boolean.FALSE);
case '0' :
case '1' :
@@ -295,7 +297,7 @@
case '8' :
case '9' :
case '-' :
- return h.decode(parseNumber(isr));
+ return h.decode(isr,parseNumber(isr));
default :
throw new IllegalArgumentException("Unexpected character in input stream: " + (char) c);
@@ -486,4 +488,19 @@
return ignorenull;
}
+ /**
+ * Use hex instead of default base 64 encoding
+ *
+ * @param useHex
+ * @return
+ */
+ public JSONCodec setHex(boolean useHex) {
+ this.useHex = useHex;
+ return this;
+ }
+
+ public boolean isHex() {
+ return useHex;
+ }
+
}
\ No newline at end of file