IonParser extends JsonParser { @Override public String getText() throws IOException { if (state == State.FIELD_NAME) { return reader.getFieldName(); } if (IonType.isText(reader.getType())) { return reader.stringValue(); } if (currentToken == null) { return null; } if (currentToken.isNumeric()) { return getNumberValue().toString(); } return currentToken.asString(); } IonParser(IonReader reader, boolean shouldCloseReader); @Override ObjectCodec getCodec(); @Override void setCodec(ObjectCodec c); @Override Version version(); @Override void close(); @Override JsonToken nextToken(); @Override JsonToken nextValue(); @Override JsonParser skipChildren(); @Override boolean isClosed(); @Override JsonToken getCurrentToken(); @Override int getCurrentTokenId(); @Override boolean hasCurrentToken(); @Override boolean hasTokenId(int id); @Override boolean hasToken(JsonToken t); @Override String getCurrentName(); @Override JsonStreamContext getParsingContext(); @Override JsonLocation getTokenLocation(); @Override JsonLocation getCurrentLocation(); @Override void clearCurrentToken(); @Override JsonToken getLastClearedToken(); @Override void overrideCurrentName(String name); @Override String getText(); @Override char[] getTextCharacters(); @Override int getTextLength(); @Override int getTextOffset(); @Override boolean hasTextCharacters(); @Override Number getNumberValue(); @Override NumberType getNumberType(); @Override int getIntValue(); @Override long getLongValue(); @Override BigInteger getBigIntegerValue(); @Override float getFloatValue(); @Override double getDoubleValue(); @Override BigDecimal getDecimalValue(); @Override Object getEmbeddedObject(); @Override byte[] getBinaryValue(Base64Variant bv); @Override String getValueAsString(String defaultValue);  }
@Test public void testGetText() throws IOException { String defaultText = "default"; String integer = String.valueOf(123); String flt = String.valueOf(42.0); IonParser parser = parse("{foo:" + integer + ", bar:" + flt + "} {{\"abc\"}} null true false"); assertNull(parser.getText()); assertEquals(defaultText, parser.getValueAsString(defaultText)); assertEquals(JsonToken.START_OBJECT, parser.nextToken()); assertEquals(JsonToken.START_OBJECT.asString(), parser.getText()); assertEquals(defaultText, parser.getValueAsString(defaultText)); assertEquals(JsonToken.FIELD_NAME, parser.nextToken()); assertEquals("foo", parser.getText()); assertEquals(defaultText, parser.getValueAsString(defaultText)); assertEquals("foo", parser.getCurrentName()); assertEquals(JsonToken.VALUE_NUMBER_INT, parser.nextToken()); assertEquals(integer, parser.getText()); assertEquals(integer, parser.getValueAsString(defaultText)); assertEquals(123, parser.getIntValue()); assertEquals(JsonToken.VALUE_NUMBER_FLOAT, parser.nextValue()); assertEquals(flt, parser.getText()); assertEquals(flt, parser.getValueAsString(defaultText)); assertEquals(42.0, parser.getFloatValue(), 1e-9); assertEquals("bar", parser.getCurrentName()); assertEquals(JsonToken.END_OBJECT, parser.nextToken()); assertEquals(JsonToken.END_OBJECT.asString(), parser.getText()); assertEquals(defaultText, parser.getValueAsString(defaultText)); assertEquals(JsonToken.VALUE_EMBEDDED_OBJECT, parser.nextToken()); assertNull(parser.getText()); assertEquals(JsonToken.VALUE_NULL, parser.nextToken()); assertEquals(JsonToken.VALUE_NULL.asString(), parser.getText()); assertEquals(defaultText, parser.getValueAsString(defaultText)); assertEquals(JsonToken.VALUE_TRUE, parser.nextToken()); assertEquals(JsonToken.VALUE_TRUE.asString(), parser.getText()); assertEquals(JsonToken.VALUE_TRUE.asString(), parser.getValueAsString(defaultText)); assertEquals(JsonToken.VALUE_FALSE, parser.nextToken()); assertEquals(JsonToken.VALUE_FALSE.asString(), parser.getText()); assertEquals(JsonToken.VALUE_FALSE.asString(), parser.getValueAsString(defaultText)); assertNull(parser.nextToken()); assertNull(parser.getText()); assertEquals(defaultText, parser.getValueAsString(defaultText)); }