[jjson] r64 committed - added support for double, float, long, byte

1 view
Skip to first unread message

jj...@googlecode.com

unread,
Jul 13, 2011, 10:00:59 AM7/13/11
to jjso...@googlegroups.com
Revision: 64
Author: grobmeier
Date: Wed Jul 13 07:00:00 2011
Log: added support for double, float, long, byte
http://code.google.com/p/jjson/source/detail?r=64

Modified:

/trunk/jjson/src/main/java/de/grobmeier/jjson/convert/JSONAnnotationEncoder.java

/trunk/jjson/src/test/java/de/grobmeier/jjson/convert/AnnotatedTestClass.java

/trunk/jjson/src/test/java/de/grobmeier/jjson/convert/JSONAnnotationEncoderTest.java

=======================================
---
/trunk/jjson/src/main/java/de/grobmeier/jjson/convert/JSONAnnotationEncoder.java
Fri Jul 1 03:33:32 2011
+++
/trunk/jjson/src/main/java/de/grobmeier/jjson/convert/JSONAnnotationEncoder.java
Wed Jul 13 07:00:00 2011
@@ -74,6 +74,16 @@
encodeString(((String)result), builder);
} else if(result.getClass().isAssignableFrom(Integer.class)) {
encodeInteger((Integer)result, builder);
+ } else if(result.getClass().isAssignableFrom(Long.class)) {
+ encodeLong((Long)result, builder);
+ } else if(result.getClass().isAssignableFrom(Double.class)) {
+ encodeDouble((Double)result, builder);
+ } else if(result.getClass().isAssignableFrom(Float.class)) {
+ encodeFloat((Float)result, builder);
+ } else if(result.getClass().isAssignableFrom(Short.class)) {
+ encodeShort((Short)result, builder);
+ } else if(result.getClass().isAssignableFrom(Byte.class)) {
+ encodeByte((Byte)result, builder);
} else if(result.getClass().isAssignableFrom(Boolean.class)) {
encodeBoolean((Boolean)result, builder);
} else if(hasInterface(result, List.class)) {
@@ -273,6 +283,56 @@
result.append(EMTPY_STRING);
}
}
+
+ private void encodeByte(Byte value, StringBuilder result) {
+ if(value == null) {
+ result.append(NULL);
+ } else {
+ result.append(EMTPY_STRING);
+ result.append(value);
+ result.append(EMTPY_STRING);
+ }
+ }
+
+ private void encodeDouble(Double value, StringBuilder result) {
+ if(value == null) {
+ result.append(NULL);
+ } else {
+ result.append(EMTPY_STRING);
+ result.append(value);
+ result.append(EMTPY_STRING);
+ }
+ }
+
+ private void encodeShort(Short value, StringBuilder result) {
+ if(value == null) {
+ result.append(NULL);
+ } else {
+ result.append(EMTPY_STRING);
+ result.append(value);
+ result.append(EMTPY_STRING);
+ }
+ }
+
+ private void encodeFloat(Float value, StringBuilder result) {
+ if(value == null) {
+ result.append(NULL);
+ } else {
+ result.append(EMTPY_STRING);
+ result.append(value);
+ result.append(EMTPY_STRING);
+ }
+ }
+
+ private void encodeLong(Long longValue, StringBuilder result) {
+ if(longValue == null) {
+ result.append(NULL);
+ } else {
+ result.append(EMTPY_STRING);
+ result.append(longValue);
+ result.append(EMTPY_STRING);
+ }
+ }

private void encodeBoolean(Boolean b, StringBuilder result) {
if(b == null) {
=======================================
---
/trunk/jjson/src/test/java/de/grobmeier/jjson/convert/AnnotatedTestClass.java
Fri Jul 1 03:33:32 2011
+++
/trunk/jjson/src/test/java/de/grobmeier/jjson/convert/AnnotatedTestClass.java
Wed Jul 13 07:00:00 2011
@@ -45,6 +45,18 @@
@JSON
protected boolean value7 = false;

+ @JSON
+ protected long value8 = 1000;
+
+ @JSON
+ protected double value9 = 10.23;
+
+ @JSON
+ protected float value10 = 9.23f;
+
+ @JSON
+ protected byte value11 = 0x11;
+
@JSON
private AnotherAnnotatedTestClass test = new
AnotherAnnotatedTestClass();

@@ -111,7 +123,39 @@
return value7;
}

- /**
+ public long getValue8() {
+ return value8;
+ }
+
+ public void setValue8(long value8) {
+ this.value8 = value8;
+ }
+
+ public double getValue9() {
+ return value9;
+ }
+
+ public void setValue9(double value9) {
+ this.value9 = value9;
+ }
+
+ public float getValue10() {
+ return value10;
+ }
+
+ public void setValue10(float value10) {
+ this.value10 = value10;
+ }
+
+ public byte getValue11() {
+ return value11;
+ }
+
+ public void setValue11(byte value11) {
+ this.value11 = value11;
+ }
+
+ /**
* @return the test
*/
public AnotherAnnotatedTestClass getTest() {
=======================================
---
/trunk/jjson/src/test/java/de/grobmeier/jjson/convert/JSONAnnotationEncoderTest.java
Fri Jul 1 03:33:32 2011
+++
/trunk/jjson/src/test/java/de/grobmeier/jjson/convert/JSONAnnotationEncoderTest.java
Wed Jul 13 07:00:00 2011
@@ -27,7 +27,8 @@
public void testSimpleClass() throws Exception {
String expected =

"{\"value1\":1,\"value2\":\"blub\",\"value3\":2,\"value5\":3,\"value4\":" +
-
"\"fasel\",\"intArray\":[5,6,7,8,9],\"value6\":true,\"value7\":false,\"test\":"
+
+
"\"fasel\",\"intArray\":[5,6,7,8,9],\"value6\":true,\"value7\":false,\"value8\":1000,"
+
+ "\"value9\":10.23,\"value10\":9.23,\"value11\":17,\"test\":" +

"{\"mys\":\"bla\",\"mylist\":[\"entry1\",\"entry2\",\"entry3\",\"entry4\",\"entry5\"],"
+
"\"map\":{\"key1\":{\"innerfield\":\"innerfield_1\"}," +
"\"key2\":{\"innerfield\":\"innerfield_2\"}," +

Reply all
Reply to author
Forward
0 new messages