Skip to content

Commit ea7d408

Browse files
committed
Add helper method "JsonToken.valueDescFor()"
1 parent 2fdd89a commit ea7d408

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

src/main/java/com/fasterxml/jackson/core/JsonToken.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,4 +221,48 @@ public enum JsonToken
221221
* {@code false} otherwise
222222
*/
223223
public final boolean isBoolean() { return _isBoolean; }
224+
225+
/**
226+
* Helper method for constructing description like "Object value" given
227+
* {@link JsonToken} encountered.
228+
*
229+
* @since 2.16
230+
*/
231+
public static String valueDescFor(JsonToken t) {
232+
if (t == null) {
233+
return "<end of input>";
234+
}
235+
switch (t) {
236+
case START_OBJECT:
237+
case END_OBJECT:
238+
case FIELD_NAME:
239+
return "Object value";
240+
241+
case START_ARRAY:
242+
case END_ARRAY:
243+
return "Array value";
244+
245+
case VALUE_FALSE:
246+
case VALUE_TRUE:
247+
return "Boolean value";
248+
249+
case VALUE_EMBEDDED_OBJECT:
250+
return "Embedded Object value";
251+
252+
case VALUE_NUMBER_FLOAT:
253+
return "Floating-point value";
254+
case VALUE_NUMBER_INT:
255+
return "Integer value";
256+
case VALUE_STRING:
257+
return "String value";
258+
259+
case VALUE_NULL:
260+
return "Null value";
261+
262+
case NOT_AVAILABLE:
263+
default:
264+
return "[Unavailable value]";
265+
}
266+
267+
}
224268
}

0 commit comments

Comments
 (0)