Example usage for jdk.nashorn.api.scripting JSObject values

List of usage examples for jdk.nashorn.api.scripting JSObject values

Introduction

In this page you can find the example usage for jdk.nashorn.api.scripting JSObject values.

Prototype

public Collection<Object> values();

Source Link

Document

Returns the set of all property values of this object.

Usage

From source file:com.qwazr.search.field.FieldTypeAbstract.java

License:Apache License

final private void fillJSObject(final JSObject values, final FieldConsumer consumer) {
    fillCollection(values.values(), consumer);
}

From source file:game.engine.game.JavascriptConsole.java

License:Open Source License

/**
 * //  ww w . j a  v a2 s .com
 */
private void dump(Object o, StringBuilder builder) {

    // handle known types
    if (o == null) {
        builder.append("null");
        return;
    } else if (o instanceof String) {
        builder.append('"').append(o).append('"');
        return;
    }

    // try to wrap JS values and dump them, or fall back to toString()
    o = jdk.nashorn.api.scripting.ScriptUtils.wrap(o);
    if (o instanceof JSObject) {
        JSObject object = (JSObject) o;
        if (object.isArray()) {
            builder.append('[');
            boolean first = true;
            for (Object element : object.values()) {
                if (first) {
                    first = false;
                } else {
                    builder.append(", ");
                }
                dump(element, builder);
            }
            builder.append("]");
        } else if (object.isFunction()) {
            builder.append("function");
        } else {
            builder.append('{');
            boolean first = true;
            for (Object key : object.keySet()) {
                if (first) {
                    first = false;
                } else {
                    builder.append(", ");
                }
                dump(key, builder);
                builder.append(": ");
                dump(object.getMember(key.toString()), builder);
            }
            builder.append("}");
        }
    } else {
        builder.append(o);
    }

}