public static Object convertResult(Object result, Class<?> c) { if (result == Undefined.instance && (c != ScriptRuntime.ObjectClass && c != ScriptRuntime.StringClass)) { // Avoid an error for an undefined value; return null instead. return null; } return Context.jsToJava(result, c); }
private static long getDateValue(final Scriptable thisObj) { final Date date = (Date) Context.jsToJava(thisObj, Date.class); return date.getTime(); }
private static long getDateValue(final Scriptable thisObj) { final Date date = (Date) Context.jsToJava(thisObj, Date.class); return date.getTime(); }
@Override public void put(int index, Scriptable start, Object value) { if (0 <= index && index < length) { Array.set(array, index, Context.jsToJava(value, cls)); } else { throw Context.reportRuntimeError2( "msg.java.array.index.out.of.bounds", String.valueOf(index), String.valueOf(length - 1)); } }
@Override public Object call(final Context cx, final Scriptable scope, final Scriptable thisObj, final Object[] args) { final Object[] realArgs = new Object[method.getParameterTypes().length]; for (int i = 0; i < realArgs.length; ++i) { final Object arg; if (i > args.length) { arg = null; } else { arg = Context.jsToJava(args[i], method.getParameterTypes()[i]); } realArgs[i] = arg; } try { return method.invoke(applet, realArgs); } catch (final Exception e) { throw Context.throwAsScriptRuntimeEx(e); } } };
@Override public Object call(final Context cx, final Scriptable scope, final Scriptable thisObj, final Object[] args) { final Object[] realArgs = new Object[method.getParameterTypes().length]; for (int i = 0; i < realArgs.length; ++i) { final Object arg; if (i > args.length) { arg = null; } else { arg = Context.jsToJava(args[i], method.getParameterTypes()[i]); } realArgs[i] = arg; } try { return method.invoke(applet, realArgs); } catch (final Exception e) { throw Context.throwAsScriptRuntimeEx(e); } } };
@Override public Object call(final Context cx, final Scriptable scope, final Scriptable thisObj, final Object[] args) { final Object[] realArgs = new Object[method.getParameterTypes().length]; for (int i = 0; i < realArgs.length; i++) { final Object arg; if (i > args.length) { arg = null; } else { arg = Context.jsToJava(args[i], method.getParameterTypes()[i]); } realArgs[i] = arg; } try { return method.invoke(applet, realArgs); } catch (final Exception e) { throw Context.throwAsScriptRuntimeEx(e); } } };
@Override public Object call(final Context cx, final Scriptable scope, final Scriptable thisObj, final Object[] args) { final Object[] realArgs = new Object[method.getParameterTypes().length]; for (int i = 0; i < realArgs.length; i++) { final Object arg; if (i > args.length) { arg = null; } else { arg = Context.jsToJava(args[i], method.getParameterTypes()[i]); } realArgs[i] = arg; } try { return method.invoke(applet, realArgs); } catch (final Exception e) { throw Context.throwAsScriptRuntimeEx(e); } } };
@Override public Object call(final Context cx, final Scriptable scope, final Scriptable thisObj, final Object[] args) { final Object[] realArgs = new Object[method.getParameterTypes().length]; for (int i = 0; i < realArgs.length; i++) { final Object arg; if (i > args.length) { arg = null; } else { arg = Context.jsToJava(args[i], method.getParameterTypes()[i]); } realArgs[i] = arg; } try { return method.invoke(applet, realArgs); } catch (final Exception e) { throw Context.throwAsScriptRuntimeEx(e); } } };
@Override public Object call(final Context cx, final Scriptable scope, final Scriptable thisObj, final Object[] args) { final Object[] realArgs = new Object[method.getParameterTypes().length]; for (int i = 0; i < realArgs.length; i++) { final Object arg; if (i > args.length) { arg = null; } else { arg = Context.jsToJava(args[i], method.getParameterTypes()[i]); } realArgs[i] = arg; } try { return method.invoke(applet, realArgs); } catch (final Exception e) { throw Context.throwAsScriptRuntimeEx(e); } } };
@Override public Object call(final Context cx, final Scriptable scope, final Scriptable thisObj, final Object[] args) { final Object[] realArgs = new Object[method.getParameterTypes().length]; for (int i = 0; i < realArgs.length; ++i) { final Object arg; if (i > args.length) { arg = null; } else { arg = Context.jsToJava(args[i], method.getParameterTypes()[i]); } realArgs[i] = arg; } try { return method.invoke(applet, realArgs); } catch (final Exception e) { throw Context.throwAsScriptRuntimeEx(e); } } };
/** * Formats a date according to the locale and formatting options of this {@code DateTimeFormat} object. * @param object the JavaScript object to convert * @return the dated formated */ @JsxFunction public String format(final Object object) { final Date date = (Date) Context.jsToJava(object, Date.class); return formatter_.format(date); }
/** * Formats a date according to the locale and formatting options of this {@code DateTimeFormat} object. * @param object the JavaScript object to convert * @return the dated formated */ @JsxFunction public String format(final Object object) { final Date date = (Date) Context.jsToJava(object, Date.class); return formatter_.format(date); }
/** * @deprecated * @see #jsToJava(Object, Class) * @throws IllegalArgumentException if the conversion cannot be performed. * Note that {@link #jsToJava(Object, Class)} throws * {@link EvaluatorException} instead. */ public static Object toType(Object value, Class<?> desiredType) throws IllegalArgumentException { try { return jsToJava(value, desiredType); } catch (EvaluatorException ex) { IllegalArgumentException ex2 = new IllegalArgumentException(ex.getMessage()); Kit.initCause(ex2, ex); throw ex2; } }
Object invokeImpl(Context cx, Object target, Scriptable topScope, Method method, Object[] args) { int N = (args == null) ? 0 : args.length; Callable function = (Callable)target; Scriptable thisObj = topScope; Object[] jsargs = new Object[N + 1]; jsargs[N] = method.getName(); if (N != 0) { WrapFactory wf = cx.getWrapFactory(); for (int i = 0; i != N; ++i) { jsargs[i] = wf.wrap(cx, topScope, args[i], null); } } Object result = function.call(cx, topScope, thisObj, jsargs); Class<?> javaResultType = method.getReturnType(); if (javaResultType == Void.TYPE) { result = null; } else { result = Context.jsToJava(result, javaResultType); } return result; } }
/** * Adds a new item to the list (optionally) at the specified index in IE way. * @param newOptionObject the DomNode to insert * @param index (optional) the index where the node should be inserted */ protected void add_IE(final HTMLOptionElement newOptionObject, final Object index) { final HtmlSelect select = getHtmlSelect(); final HtmlOption beforeOption; if (Context.getUndefinedValue().equals(index)) { beforeOption = null; } else { final int intIndex = ((Integer) Context.jsToJava(index, Integer.class)).intValue(); if (intIndex >= select.getOptionSize()) { beforeOption = null; } else { beforeOption = select.getOption(intIndex); } } addBefore(newOptionObject, beforeOption); }
/** * Adds a new item to the list (optionally) at the specified index in IE way. * @param newOptionObject the DomNode to insert * @param index (optional) the index where the node should be inserted */ protected void add_IE(final HTMLOptionElement newOptionObject, final Object index) { final HtmlSelect select = getHtmlSelect(); final HtmlOption beforeOption; if (Context.getUndefinedValue().equals(index)) { beforeOption = null; } else { final int intIndex = ((Integer) Context.jsToJava(index, Integer.class)).intValue(); if (intIndex >= select.getOptionSize()) { beforeOption = null; } else { beforeOption = select.getOption(intIndex); } } addBefore(newOptionObject, beforeOption); }
/** * Adds a new item to the list (optionally) at the specified index in IE way. * @param newOptionObject the DomNode to insert * @param index (optional) the index where the node should be inserted */ protected void add_IE(final HTMLOptionElement newOptionObject, final Object index) { final HtmlSelect select = getHtmlSelect(); final HtmlOption beforeOption; if (Context.getUndefinedValue().equals(index)) { beforeOption = null; } else { final int intIndex = ((Integer) Context.jsToJava(index, Integer.class)).intValue(); if (intIndex >= select.getOptionSize()) { beforeOption = null; } else { beforeOption = select.getOption(intIndex); } } addBefore(newOptionObject, beforeOption); }
final int index = ((Integer) Context.jsToJava(beforeOptionObject, Integer.class)).intValue(); if (index < 0 || index >= getLength()) {
final int index = ((Integer) Context.jsToJava(beforeOptionObject, Integer.class)).intValue(); if (index < 0 || index >= getLength()) {