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

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

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

V8Array.getObject介绍

[英]Returns the V8Object value associated at this index. If the value at this index does not exist, or if it's not a V8Object, then V8ResultUndefined exception is thrown.
[中]返回与此索引关联的V8Object值。如果此索引处的值不存在,或者它不是V8Object,则会引发V8ResultUndefined异常。

代码示例

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

private List<AssetProblem> problems(final V8Array array) {
 ImmutableList.Builder<AssetProblem> result = ImmutableList.builder();
 for (int i = 0; i < array.length(); i++) {
  result.add(problem(register(v8, array.getObject(i))));
 }
 return result.build();
}

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

/**
 * Returns the PropertyMiror at a given index.
 *
 * @param index The index of the property
 * @return The property at the given index
 */
public PropertyMirror getProperty(final int index) {
  V8Object result = v8Array.getObject(index);
  try {
    return new PropertyMirror(result);
  } finally {
    result.close();
  }
}

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

private void invokeHandler(final V8Array parameters, final int event, final BreakHandler handler) {
  V8Object execState = null;
  V8Object eventData = null;
  V8Object data = null;
  ExecutionState state = null;
  EventData typedEventData = null;
  try {
    execState = parameters.getObject(1);
    eventData = parameters.getObject(2);
    data = parameters.getObject(3);
    state = new ExecutionState(execState);
    DebugEvent type = DebugEvent.values()[event];
    typedEventData = createDebugEvent(type, eventData);
    handler.onBreak(type, state, typedEventData, data);
  } finally {
    safeRelease(execState);
    safeRelease(eventData);
    safeRelease(data);
    safeRelease(state);
    safeRelease(typedEventData);
  }
}

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

try {
  int event = parameters.getInteger(0);
  execState = parameters.getObject(1);
  eventData = parameters.getObject(2);

代码示例来源: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: eclipsesource/J2V8

/**
 * Get all the BreakPoint IDs as an array.
 *
 * @return A list of BreakPoint IDs.
 */
public int[] getScriptBreakPointIDs() {
  V8Array breakPoints = debugObject.executeArrayFunction(SCRIPT_BREAK_POINTS, null);
  try {
    int[] result = new int[breakPoints.length()];
    for (int i = 0; i < breakPoints.length(); i++) {
      V8Object breakPoint = breakPoints.getObject(i);
      try {
        result[i] = breakPoint.executeIntegerFunction(NUMBER, null);
      } finally {
        breakPoint.close();
      }
    }
    return result;
  } finally {
    breakPoints.close();
  }
}

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

/**
 * Returns the PropertyMiror at a given index.
 *
 * @param index The index of the property
 * @return The property at the given index
 */
public PropertyMirror getProperty(final int index) {
  V8Object result = v8Array.getObject(index);
  try {
    return new PropertyMirror(result);
  } finally {
    result.close();
  }
}

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

private void invokeHandler(final V8Array parameters, final int event, final BreakHandler handler) {
  V8Object execState = null;
  V8Object eventData = null;
  V8Object data = null;
  ExecutionState state = null;
  EventData typedEventData = null;
  try {
    execState = parameters.getObject(1);
    eventData = parameters.getObject(2);
    data = parameters.getObject(3);
    state = new ExecutionState(execState);
    DebugEvent type = DebugEvent.values()[event];
    typedEventData = createDebugEvent(type, eventData);
    handler.onBreak(type, state, typedEventData, data);
  } finally {
    safeRelease(execState);
    safeRelease(eventData);
    safeRelease(data);
    safeRelease(state);
    safeRelease(typedEventData);
  }
}

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

@Test(expected = UnsupportedOperationException.class)
public void testGetObjectIndexUndefined() {
  V8Array undefined = v8.getArray("array");
  undefined.getObject(7);
}

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

@Test(expected = UnsupportedOperationException.class)
public void testGetObjectUndefined() {
  V8Array undefined = v8.getArray("array");
  undefined.getObject("foo");
}

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

@Test(expected = V8ResultUndefined.class)
public void testArrayGetObjectWrongType() {
  V8Array array = v8.executeArrayScript("[42];");
  try {
    array.getObject(0);
  } finally {
    array.close();
  }
}

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

@Test
public void testListContainsSelf() {
  List<Object> list = new ArrayList<Object>();
  list.add(list);
  V8Array v8Array = V8ObjectUtils.toV8Array(v8, list);
  V8Object self = v8Array.getObject(0);
  assertEquals(v8Array, self);
  self.close();
  v8Array.close();
}

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

@Test
public void testPushMap() {
  V8Array array = new V8Array(v8);
  Map<String, String> map = new HashMap<String, String>();
  map.put("foo", "bar");
  V8ObjectUtils.pushValue(v8, array, map);
  V8Object result = array.getObject(0);
  assertEquals("bar", result.getString("foo"));
  result.close();
  array.close();
}

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

@Test
public void testGetNullInArray() {
  V8Array array = v8.executeArrayScript("x = [null]; x;");
  assertNull(array.getObject(0));
  array.close();
}

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

@Test
public void testAddNullAsString() {
  V8Array array = new V8Array(v8);
  array.push((String) null);
  assertNull(array.getObject(0));
  array.close();
}

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

@Test
public void testAddNullAsObject() {
  V8Array array = new V8Array(v8);
  array.push((V8Object) null);
  assertNull(array.getObject(0));
  array.close();
}

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

@Test
public void testArrayGetObjectIndexOutOfBounds() {
  V8Array array = v8.executeArrayScript("[];");
  V8Object result = array.getObject(0);
  assertTrue(result.isUndefined());
  array.close();
}

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

@Test
public void testArrayGetObjectChangeValue() {
  V8Array array = v8.executeArrayScript("foo = []; foo");
  v8.executeVoidScript("foo[0] = {foo:'bar'}");
  V8Object obj = array.getObject(0);
  assertEquals("bar", obj.getString("foo"));
  array.close();
  obj.close();
}

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

/**** Get Object ****/
@Test
public void testArrayGetObject() {
  V8Array array = v8.executeArrayScript("[{name : 'joe', age : 38 }];");
  V8Object object = array.getObject(0);
  assertEquals("joe", object.getString("name"));
  assertEquals(38, object.getInteger("age"));
  array.close();
  object.close();
}

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

@Test
public void testAddNull() {
  V8Array v8Array = new V8Array(v8);
  v8Array.pushNull();
  assertEquals(1, v8Array.length());
  assertEquals(NULL, v8Array.getType(0));
  assertNull(v8Array.getObject(0));
  v8Array.close();
}

相关文章