AbstractExpressionEvaluator implements ExpressionEvaluator { protected boolean isSimpleTypeNode(JsonNode jsonNode) { if (!jsonNode.isObject()) { return false; } ObjectNode objectNode = (ObjectNode) jsonNode; int numberOfFields = objectNode.size(); return numberOfFields == 1 && objectNode.has(VALUE); }  @Override Object evaluateLiteralExpression(String rawExpression, String className, List<String> genericClasses); @Override boolean evaluateUnaryExpression(String rawExpression, Object resultValue, Class<?> resultClass);  }
@Test public void isSimpleTypeNode() { assertFalse(expressionEvaluatorLocal.isSimpleTypeNode(new ArrayNode(factory))); ObjectNode jsonNode = new ObjectNode(factory); jsonNode.set(VALUE, new TextNode("test")); assertTrue(expressionEvaluatorLocal.isSimpleTypeNode(jsonNode)); jsonNode.set("otherField", new TextNode("testValue")); assertFalse(expressionEvaluatorLocal.isSimpleTypeNode(jsonNode)); }