com.eclipsesource.v8.V8Array.get()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(6.8k)|赞(0)|评价(0)|浏览(127)

本文整理了Java中com.eclipsesource.v8.V8Array.get()方法的一些代码示例,展示了V8Array.get()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。V8Array.get()方法的具体详情如下:
包路径:com.eclipsesource.v8.V8Array
类名称:V8Array
方法名:get

V8Array.get介绍

[英]Gets the value at a given index as a Java Object. Primitives are boxed.
[中]以Java对象的形式获取给定索引处的值。原语被装箱。

代码示例

代码示例来源:origin: eclipsesource/J2V8

private Object getArrayItem(final V8Array array, final int index) {
  try {
    int type = array.getType(index);
    switch (type) {
      case INTEGER:
        return array.getInteger(index);
      case DOUBLE:
        return array.getDouble(index);
      case BOOLEAN:
        return array.getBoolean(index);
      case STRING:
        return array.getString(index);
      case V8_ARRAY:
      case V8_TYPED_ARRAY:
        return array.getArray(index);
      case V8_OBJECT:
        return array.getObject(index);
      case V8_FUNCTION:
        return array.getObject(index);
      case V8_ARRAY_BUFFER:
        return array.get(index);
      case UNDEFINED:
        return V8.getUndefined();
    }
  } catch (V8ResultUndefined e) {
    // do nothing
  }
  return null;
}

代码示例来源:origin: jooby-project/jooby

private static JavaVoidCallback console(V8 v8, final Consumer<String> log) {
 return (self, args) -> {
  StringBuilder buff = new StringBuilder();
  for (int i = 0; i < args.length(); i++) {
   buff.append(args.get(i));
  }
  log.accept(buff.toString());
 };
}

代码示例来源:origin: eclipsesource/J2V8

@SuppressWarnings("unchecked")
private static List<? super Object> toList(final V8Array array, final V8Map<Object> cache, final TypeAdapter adapter) {
  if (array == null) {
    return Collections.emptyList();
  }
  if (cache.containsKey(array)) {
    return (List<? super Object>) cache.get(array);
  }
  List<? super Object> result = new ArrayList<Object>();
  cache.put(array, result);
  for (int i = 0; i < array.length(); i++) {
    Object object = null;
    int type = V8Value.UNDEFINED;
    try {
      object = array.get(i);
      type = array.getType(i);
      Object value = getValue(object, type, cache, adapter);
      if (value != IGNORE) {
        result.add(value);
      }
    } finally {
      if (object instanceof Releasable) {
        ((Releasable) object).release();
      }
    }
  }
  return result;
}

代码示例来源:origin: jooby-project/jooby

String svgPath = params.get(0).toString();
String pngPath = params.get(1).toString();
Float w = new Float(params.getDouble(2));
Float h = new Float(params.getDouble(3));
V8Function callback = (V8Function) params.get(4);
Try.run(() -> {
 try (FileReader in = new FileReader(svgPath);

代码示例来源:origin: jooby-project/jooby

private static void b64(final V8 v8) {
 v8.registerJavaMethod((JavaCallback) (receiver, args) -> {
  byte[] bytes = args.get(0).toString().getBytes(StandardCharsets.UTF_8);
  return BaseEncoding.base64().encode(bytes);
 }, "btoa");
 v8.registerJavaMethod((JavaCallback) (receiver, args) -> {
  byte[] atob = BaseEncoding.base64().decode(args.get(0).toString());
  return new String(atob, StandardCharsets.UTF_8);
 }, "atob");
}

代码示例来源:origin: eclipsesource/J2V8

int type = V8Value.UNDEFINED;
try {
  object = array.get(index);
  type = array.getType(index);
  Object result = getValue(object, type, cache, DEFAULT_TYPE_ADAPTER);

代码示例来源:origin: eclipsesource/J2V8

@Override
public Object get(final int index) {
  v8.checkThread();
  checkReleased();
  int type = getType();
  switch (type) {
    case FLOAT_32_ARRAY:
      return ((Number) super.get(index)).floatValue();
    case FLOAT_64_ARRAY:
      return super.get(index);
    case INT_32_ARRAY:
      return super.get(index);
    case INT_16_ARRAY:
      return ((Number) super.get(index)).shortValue();
    case INT_8_ARRAY:
      return ((Number) super.get(index)).byteValue();
    case UNSIGNED_INT_16_ARRAY:
      return 0xFFFF & (Integer) super.get(index);
    case UNSIGNED_INT_32_ARRAY:
      return 0x00000000FFFFFFFF & ((Number) super.get(index)).longValue();
    case UNSIGNED_INT_8_CLAMPED_ARRAY:
      return (short) (0x00FF & ((Number) super.get(index)).byteValue());
    case UNSIGNED_INT_8_ARRAY:
      return (short) (0x00FF & ((Number) super.get(index)).shortValue());
  }
  return null;
}

代码示例来源:origin: eclipsesource/J2V8

int type = V8Value.UNDEFINED;
try {
  object = array.get(index);
  type = array.getType(index);
  Object result = getValue(object, type, cache, adapter);

代码示例来源:origin: eclipsesource/J2V8

@Override
  public void invoke(final V8Object receiver, final V8Array parameters) {
    V8Function require = (V8Function) parameters.get(0);
    try {
      node.init(require.twin());
    } finally {
      require.close();
    }
  }
}, STARTUP_CALLBACK);

代码示例来源:origin: jooby-project/jooby

Path path = Paths.get(arguments.get(0).toString());
if (includes.stream().filter(it -> it.matches(path)).findFirst().isPresent()) {
 return !excludes.stream().filter(it -> it.matches(path)).findFirst().isPresent();

代码示例来源:origin: jooby-project/jooby

private static void assets(Class<?> loader, final V8 v8) {
 V8Object assets = new V8Object(v8);
 v8.add("assets", assets);
 assets.registerJavaMethod((JavaCallback) (receiver, args) -> {
  try {
   return V8Engine.readFile(loader, args.get(0).toString());
  } catch (IOException ex) {
   // we can't fire exceptions from Java :S
   return V8.getUndefined();
  }
 }, "readFile");
 assets.registerJavaMethod(
   (JavaCallback) (receiver, args) -> V8Engine.exists(loader, args.get(0).toString()),
   "exists");
 assets.registerJavaMethod((JavaCallback) (receiver, args) -> {
  try {
   return load(loader, v8, args.get(0).toString());
  } catch (Exception ex) {
   // we can't fire exceptions from Java :S
   return V8.getUndefined();
  }
 }, "load");
}

代码示例来源:origin: eclipsesource/J2V8

@Override
  public Object invoke(final V8Object receiver, final V8Array parameters) {
    return parameters.get(0);
  }
});

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testGenericPushInteger() {
  V8Array array = new V8Array(v8);
  array.push(new Integer(7));
  assertEquals(7, array.get(0));
  array.close();
}

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testGenericPushFloat() {
  V8Array array = new V8Array(v8);
  array.push(new Float(3.14));
  assertEquals(3.14, (Double) array.get(0), 0.0001);
  array.close();
}

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testGenericPushBoolean() {
  V8Array array = new V8Array(v8);
  array.push(new Boolean(true));
  assertTrue((Boolean) array.get(0));
  array.close();
}

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testGetIsInteger() {
  V8Array array = v8.executeArrayScript("foo = [7]");
  Object result = array.get(0);
  assertTrue(result instanceof Integer);
  assertEquals(7, result);
  array.close();
}

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testGetIsDouble() {
  V8Array array = v8.executeArrayScript("foo = [7.7]");
  Object result = array.get(0);
  assertTrue(result instanceof Double);
  assertEquals(7.7, result);
  array.close();
}

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testGetIsObject() {
  V8Array array = v8.executeArrayScript("foo = [{}]");
  Object result = array.get(0);
  assertTrue(result instanceof V8Object);
  array.close();
  ((Releasable) result).release();
}

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testGetIsArray() {
  V8Array array = v8.executeArrayScript("foo = [[]]");
  Object result = array.get(0);
  assertTrue(result instanceof V8Array);
  array.close();
  ((Releasable) result).release();
}

代码示例来源:origin: eclipsesource/J2V8

@Test
public void testGetTypedArrayIntValue_WithArrayBuffer() {
  V8ArrayBuffer buffer = new V8ArrayBuffer(v8, 4);
  v8.add("buf", buffer);
  V8Array result = (V8Array) v8.executeScript("var ints = new Int16Array(buf); ints[0] = 7; ints");
  assertEquals((short) 7, result.get(0));
  result.close();
  buffer.close();
}

相关文章