public JsonObjectBuilder create()

in src/main/java/org/apache/sling/servlets/get/impl/util/JsonObjectCreator.java [70:98]


    public JsonObjectBuilder create() {
        final JsonObjectBuilder obj = Json.createObjectBuilder();

        if (valueMap.isEmpty()) {
            final String value = resource.adaptTo(String.class);
            if (value != null) {
                obj.add(resource.getName(), value.toString());
            } else {
                final String[] values = resource.adaptTo(String[].class);
                if (values != null) {
                    JsonArrayBuilder builder = Json.createArrayBuilder();
                    for (String v : values) {
                        builder.add(v);
                    }
                    obj.add(resource.getName(), builder);
                }
            }
            return obj;
        }

        final Iterator<Map.Entry<String, Object>> props = valueMap.entrySet().iterator();

        while (props.hasNext()) {
            final Map.Entry<String, Object> prop = props.next();
            createProperty(obj, prop.getKey(), prop.getValue());
        }

        return obj;
    }