private Value toValue()

in src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java [685:715]


    private Value toValue(ValueFactory factory, JsonValue jsonValue, int restrictionType) throws ValueFormatException {
        Value value = null;
        ValueType valueType = jsonValue.getValueType();
        switch (valueType) {
        case TRUE:
            value = factory.createValue(false);
            break;
        case FALSE:
            value = factory.createValue(false);
            break;
        case NUMBER:
            JsonNumber jsonNumber = (JsonNumber) jsonValue;
            if (jsonNumber.isIntegral()) {
                value = factory.createValue(jsonNumber.longValue());
            } else {
                value = factory.createValue(jsonNumber.doubleValue());
            }
            break;
        case STRING:
            value = factory.createValue(((JsonString) jsonValue).getString(), restrictionType);
            break;
        case NULL:
        case ARRAY:
        case OBJECT:
        default:
            // illegal JSON?
            break;
        }

        return value;
    }