aboutsummaryrefslogtreecommitdiffhomepage
path: root/javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java
diff options
context:
space:
mode:
authorGravatar Jisi Liu <jisi.liu@gmail.com>2015-02-19 13:56:02 -0800
committerGravatar Jisi Liu <jisi.liu@gmail.com>2015-02-19 14:41:14 -0800
commitf0e08fd4e4c33c87bbfb309b5baa4d6e976ddcc7 (patch)
tree34883820fef99ca64ec9ec42ce753f4ffdb56cea /javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java
parent709164e764fcf0e4be79e721dafeda4544f27b40 (diff)
Support maps in NanoPrinter.
Diffstat (limited to 'javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java')
-rw-r--r--javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java b/javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java
index dd43cdbb..c4b2ad3d 100644
--- a/javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java
+++ b/javanano/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java
@@ -35,6 +35,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import java.util.Map;
/**
* Static helper methods for printing nano protos.
@@ -170,6 +171,19 @@ public final class MessageNanoPrinter {
indentBuf.setLength(origIndentBufLength);
buf.append(indentBuf).append(">\n");
}
+ } else if (object instanceof Map) {
+ Map<?,?> map = (Map<?,?>) object;
+ identifier = deCamelCaseify(identifier);
+
+ for (Map.Entry<?,?> entry : map.entrySet()) {
+ buf.append(indentBuf).append(identifier).append(" <\n");
+ int origIndentBufLength = indentBuf.length();
+ indentBuf.append(INDENT);
+ print("key", entry.getKey(), indentBuf, buf);
+ print("value", entry.getValue(), indentBuf, buf);
+ indentBuf.setLength(origIndentBufLength);
+ buf.append(indentBuf).append(">\n");
+ }
} else {
// Non-null primitive value
identifier = deCamelCaseify(identifier);