Example usage for jdk.nashorn.internal.runtime JSType toInteger

List of usage examples for jdk.nashorn.internal.runtime JSType toInteger

Introduction

In this page you can find the example usage for jdk.nashorn.internal.runtime JSType toInteger.

Prototype

public static int toInteger(final Object obj) 

Source Link

Document

JavaScript compliant Object to integer conversion.

Usage

From source file:com.eas.client.RemoteModulesProxy.java

@Override
public ModuleStructure getModule(String aName, Scripts.Space aSpace, Consumer<ModuleStructure> onSuccess,
        Consumer<Exception> onFailure) throws Exception {
    if (onSuccess != null) {
        requestModuleStructure(aName, aSpace, (ModuleStructureRequest.Response structureResp) -> {
            try {
                ModuleStructure structure = new ModuleStructure();
                JSObject jsStructure = (JSObject) aSpace.parseJson(structureResp.getJson());
                readCommons(jsStructure, structure);
                JSObject jsParts = (JSObject) jsStructure.getMember(STRUCTURE_PROP_NAME);
                int partsLength = JSType.toInteger(jsParts.getMember(LENGTH_PROP_NAME));
                for (int i = 0; i < partsLength; i++) {
                    String resourceName = JSType.toString(jsParts.getSlot(i));
                    getResource(resourceName, aSpace, (File aSynced) -> {
                        structure.getParts().addFile(aSynced);
                        if (structure.getParts().getFiles().size() == partsLength) {
                            id2files.put(aName, structure.getParts()
                                    .findFileByExtension(PlatypusFiles.JAVASCRIPT_EXTENSION));
                            onSuccess.accept(structure);
                        }//w  w  w.j  a  v a 2  s  .  c om
                    }, onFailure);
                }
            } catch (Exception ex) {
                if (onFailure != null) {
                    onFailure.accept(ex);
                }
            }
        }, onFailure);
        return null;
    } else {
        ModuleStructureRequest.Response structureResp = requestModuleStructure(aName, null, null, null);
        ModuleStructure structure = new ModuleStructure();
        JSObject jsStructure = (JSObject) aSpace.parseJson(structureResp.getJson());
        readCommons(jsStructure, structure);
        JSObject jsParts = (JSObject) jsStructure.getMember(STRUCTURE_PROP_NAME);
        int partsLength = JSType.toInteger(jsParts.getMember(LENGTH_PROP_NAME));
        for (int i = 0; i < partsLength; i++) {
            String resourceName = JSType.toString(jsParts.getSlot(i));
            File synced = getResource(resourceName, aSpace, null, null);
            structure.getParts().addFile(synced);
        }
        id2files.put(aName, structure.getParts().findFileByExtension(PlatypusFiles.JAVASCRIPT_EXTENSION));
        return structure;
    }
}

From source file:com.eas.client.RemoteModulesProxy.java

private void readCommons(JSObject jsStructure, ModuleStructure structure) {
    JSObject jsClientDependencies = (JSObject) jsStructure.getMember(CLIENT_DEPENDENCIES_PROP_NAME);
    int clientDepsLength = JSType.toInteger(jsClientDependencies.getMember(LENGTH_PROP_NAME));
    for (int i = 0; i < clientDepsLength; i++) {
        String dep = JSType.toString(jsClientDependencies.getSlot(i));
        structure.getClientDependencies().add(dep);
    }/*w ww .j a  v  a 2 s  . c  o  m*/
    JSObject jsQueryDependencies = (JSObject) jsStructure.getMember(QUERY_DEPENDENCIES_PROP_NAME);
    int queryDepsLength = JSType.toInteger(jsQueryDependencies.getMember(LENGTH_PROP_NAME));
    for (int i = 0; i < queryDepsLength; i++) {
        String dep = JSType.toString(jsQueryDependencies.getSlot(i));
        structure.getQueryDependencies().add(dep);
    }
    JSObject jsServerDependencies = (JSObject) jsStructure.getMember(SERVER_DEPENDENCIES_PROP_NAME);
    int serverDepsLength = JSType.toInteger(jsServerDependencies.getMember(LENGTH_PROP_NAME));
    for (int i = 0; i < serverDepsLength; i++) {
        String dep = JSType.toString(jsServerDependencies.getSlot(i));
        structure.getServerDependencies().add(dep);
    }
}

From source file:com.eas.client.RemoteServerModulesProxy.java

private ServerModuleInfo readInfo(String aModuleName, JSObject jsProxy) {
    Set<String> functions = new HashSet<>();
    JSObject jsFunctions = (JSObject) jsProxy.getMember(CREATE_MODULE_RESPONSE_FUNCTIONS_PROP);
    int length = JSType.toInteger(jsFunctions.getMember(LENGTH_PROP_NAME));
    for (int i = 0; i < length; i++) {
        String fName = JSType.toString(jsFunctions.getSlot(i));
        functions.add(fName);/*from  w w  w .  j  a  v  a2  s. com*/
    }
    boolean permitted = JSType.toBoolean(jsProxy.getMember(CREATE_MODULE_RESPONSE_IS_PERMITTED_PROP));
    return new ServerModuleInfo(aModuleName, functions, permitted);
}

From source file:com.eas.client.reports.JSDynaList.java

public JSDynaList(JSObject aDelegate, int aTimezoneOffset) {
    super();//from  www  .  j a  v  a 2 s  .c om
    if (aDelegate != null) {
        delegate = aDelegate;
        length = JSType.toInteger(delegate.getMember("length"));
        timezoneOffset = aTimezoneOffset;
    } else {
        throw new IllegalArgumentException("A Delegate could not be null.");
    }
}

From source file:com.eas.client.threetier.json.FieldsJSONReader.java

public static void readFields(JSObject pa, Fields aFields) {
    int length = JSType.toInteger(pa.getMember("length"));
    for (int i = 0; i < length; i++) {
        JSObject po = (JSObject) pa.getSlot(i);
        assert po != null;
        String name = JSType.toString(po.getMember(NAME_PROP_NAME));
        String desc = JSType.toString(po.getMember(DESCRIPTION_PROP_NAME));

        String type = po.hasMember(TYPE_PROP_NAME) && po.getMember(TYPE_PROP_NAME) != null
                ? JSType.toString(po.getMember(TYPE_PROP_NAME))
                : null;/*from   w w  w  .  j  av a  2  s  . c  om*/
        boolean pk = JSType.toBoolean(po.getMember(PK_PROP_NAME));
        boolean nullable = JSType.toBoolean(po.getMember(NULLABLE_PROP_NAME));
        Field f = aFields instanceof Parameters ? new Parameter(name) : new Field(name);
        f.setDescription(desc);
        f.setType(type);
        f.setPk(pk);
        f.setNullable(nullable);
        aFields.add(f);
    }
}