亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nativejavaobject.java

?? 主要的怎么樣結合java 和 javascript!
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
            else if (type.isInterface() && value instanceof Callable) {                // Try to use function as implementation of Java interface.                //                // XXX: Curently only instances of ScriptableObject are                // supported since the resulting interface proxies should                // be reused next time conversion is made and generic                // Callable has no storage for it. Weak references can                // address it but for now use this restriction.                if (value instanceof ScriptableObject) {                    ScriptableObject so = (ScriptableObject)value;                    Object key = Kit.makeHashKeyFromPair(                        COERCED_INTERFACE_KEY, type);                    Object old = so.getAssociatedValue(key);                    if (old != null) {                        // Function was already wrapped                        return old;                    }                    Context cx = Context.getContext();                    Object glue                        = InterfaceAdapter.create(cx, type, (Callable)value);                    // Store for later retrival                    glue = so.associateValue(key, glue);                    return glue;                }                reportConversionError(value, type);            } else {                reportConversionError(value, type);            }            break;        }        return value;    }    private static Object coerceToNumber(Class type, Object value)    {        Class valueClass = value.getClass();        // Character        if (type == Character.TYPE || type == ScriptRuntime.CharacterClass) {            if (valueClass == ScriptRuntime.CharacterClass) {                return value;            }            return new Character((char)toInteger(value,                                                 ScriptRuntime.CharacterClass,                                                 (double)Character.MIN_VALUE,                                                 (double)Character.MAX_VALUE));        }        // Double, Float        if (type == ScriptRuntime.ObjectClass ||            type == ScriptRuntime.DoubleClass || type == Double.TYPE) {            return valueClass == ScriptRuntime.DoubleClass                ? value                : new Double(toDouble(value));        }        if (type == ScriptRuntime.FloatClass || type == Float.TYPE) {            if (valueClass == ScriptRuntime.FloatClass) {                return value;            }            else {                double number = toDouble(value);                if (Double.isInfinite(number) || Double.isNaN(number)                    || number == 0.0) {                    return new Float((float)number);                }                else {                    double absNumber = Math.abs(number);                    if (absNumber < (double)Float.MIN_VALUE) {                        return new Float((number > 0.0) ? +0.0 : -0.0);                    }                    else if (absNumber > (double)Float.MAX_VALUE) {                        return new Float((number > 0.0) ?                                         Float.POSITIVE_INFINITY :                                         Float.NEGATIVE_INFINITY);                    }                    else {                        return new Float((float)number);                    }                }            }        }        // Integer, Long, Short, Byte        if (type == ScriptRuntime.IntegerClass || type == Integer.TYPE) {            if (valueClass == ScriptRuntime.IntegerClass) {                return value;            }            else {                return new Integer((int)toInteger(value,                                                  ScriptRuntime.IntegerClass,                                                  (double)Integer.MIN_VALUE,                                                  (double)Integer.MAX_VALUE));            }        }        if (type == ScriptRuntime.LongClass || type == Long.TYPE) {            if (valueClass == ScriptRuntime.LongClass) {                return value;            }            else {                /* Long values cannot be expressed exactly in doubles.                 * We thus use the largest and smallest double value that                 * has a value expressible as a long value. We build these                 * numerical values from their hexidecimal representations                 * to avoid any problems caused by attempting to parse a                 * decimal representation.                 */                final double max = Double.longBitsToDouble(0x43dfffffffffffffL);                final double min = Double.longBitsToDouble(0xc3e0000000000000L);                return new Long(toInteger(value,                                          ScriptRuntime.LongClass,                                          min,                                          max));            }        }        if (type == ScriptRuntime.ShortClass || type == Short.TYPE) {            if (valueClass == ScriptRuntime.ShortClass) {                return value;            }            else {                return new Short((short)toInteger(value,                                                  ScriptRuntime.ShortClass,                                                  (double)Short.MIN_VALUE,                                                  (double)Short.MAX_VALUE));            }        }        if (type == ScriptRuntime.ByteClass || type == Byte.TYPE) {            if (valueClass == ScriptRuntime.ByteClass) {                return value;            }            else {                return new Byte((byte)toInteger(value,                                                ScriptRuntime.ByteClass,                                                (double)Byte.MIN_VALUE,                                                (double)Byte.MAX_VALUE));            }        }        return new Double(toDouble(value));    }    private static double toDouble(Object value)    {        if (value instanceof Number) {            return ((Number)value).doubleValue();        }        else if (value instanceof String) {            return ScriptRuntime.toNumber((String)value);        }        else if (value instanceof Scriptable) {            if (value instanceof Wrapper) {                // XXX: optimize tail-recursion?                return toDouble(((Wrapper)value).unwrap());            }            else {                return ScriptRuntime.toNumber(value);            }        }        else {            Method meth;            try {                meth = value.getClass().getMethod("doubleValue", null);            }            catch (NoSuchMethodException e) {                meth = null;            }            catch (SecurityException e) {                meth = null;            }            if (meth != null) {                try {                    return ((Number)meth.invoke(value, null)).doubleValue();                }                catch (IllegalAccessException e) {                    // XXX: ignore, or error message?                    reportConversionError(value, Double.TYPE);                }                catch (InvocationTargetException e) {                    // XXX: ignore, or error message?                    reportConversionError(value, Double.TYPE);                }            }            return ScriptRuntime.toNumber(value.toString());        }    }    private static long toInteger(Object value, Class type,                                  double min, double max)    {        double d = toDouble(value);        if (Double.isInfinite(d) || Double.isNaN(d)) {            // Convert to string first, for more readable message            reportConversionError(ScriptRuntime.toString(value), type);        }        if (d > 0.0) {            d = Math.floor(d);        }        else {            d = Math.ceil(d);        }        if (d < min || d > max) {            // Convert to string first, for more readable message            reportConversionError(ScriptRuntime.toString(value), type);        }        return (long)d;    }    static void reportConversionError(Object value, Class type)    {        // It uses String.valueOf(value), not value.toString() since        // value can be null, bug 282447.        throw Context.reportRuntimeError2(            "msg.conversion.not.allowed",            String.valueOf(value),            JavaMembers.javaSignature(type));    }    private void writeObject(ObjectOutputStream out)        throws IOException    {        out.defaultWriteObject();        if (javaObject != null) {            Class joClass = javaObject.getClass();            if (joClass.getName().startsWith("adapter")) {                out.writeBoolean(true);                if (adapter_writeAdapterObject == null) {                    throw new IOException();                }                Object[] args = { javaObject, out };                try {                    adapter_writeAdapterObject.invoke(null, args);                } catch (Exception ex) {                    throw new IOException();                }            } else {                out.writeBoolean(false);                out.writeObject(javaObject);            }        } else {            out.writeBoolean(false);            out.writeObject(javaObject);        }        if (staticType != null) {            out.writeObject(staticType.getClass().getName());        } else {            out.writeObject(null);        }    }    private void readObject(ObjectInputStream in)        throws IOException, ClassNotFoundException    {        in.defaultReadObject();        if (in.readBoolean()) {            if (adapter_readAdapterObject == null)                throw new ClassNotFoundException();            Object[] args = { this, in };            try {                javaObject = adapter_readAdapterObject.invoke(null, args);            } catch (Exception ex) {                throw new IOException();            }        } else {            javaObject = in.readObject();        }        String className = (String)in.readObject();        if (className != null) {            staticType = Class.forName(className);        } else {            staticType = null;        }        initMembers();    }    /**     * The prototype of this object.     */    protected Scriptable prototype;    /**     * The parent scope of this object.     */    protected Scriptable parent;    protected transient Object javaObject;    protected transient Class staticType;    protected transient JavaMembers members;    private transient Hashtable fieldAndMethods;    private static final Object COERCED_INTERFACE_KEY = new Object();    private static Method adapter_writeAdapterObject;    private static Method adapter_readAdapterObject;    static {        // Reflection in java is verbose        Class[] sig2 = new Class[2];        Class cl = Kit.classOrNull("org.mozilla.javascript.JavaAdapter");        if (cl != null) {            try {                sig2[0] = ScriptRuntime.ObjectClass;                sig2[1] = Kit.classOrNull("java.io.ObjectOutputStream");                adapter_writeAdapterObject = cl.getMethod("writeAdapterObject",                                                          sig2);                sig2[0] = ScriptRuntime.ScriptableClass;                sig2[1] = Kit.classOrNull("java.io.ObjectInputStream");                adapter_readAdapterObject = cl.getMethod("readAdapterObject",                                                         sig2);            } catch (Exception ex) {                adapter_writeAdapterObject = null;                adapter_readAdapterObject = null;            }        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本韩国一区二区三区视频 | 91免费观看在线| 久久久久国产精品麻豆| 国产成人a级片| 日韩毛片高清在线播放| www.欧美精品一二区| 亚洲视频一二三| 欧美美女网站色| 久久精品久久综合| 国产亚洲精品中文字幕| 93久久精品日日躁夜夜躁欧美| 亚洲免费资源在线播放| 欧美精品123区| 国产在线精品免费| 亚洲视频小说图片| 欧美一区二区三区在| 国产精品一区一区| 亚洲自拍偷拍网站| 日韩美女一区二区三区| 成人免费av在线| 手机精品视频在线观看| 国产亚洲精品福利| 欧美色精品在线视频| 国产最新精品免费| 一区二区久久久久| 精品盗摄一区二区三区| 色诱视频网站一区| 国产毛片精品视频| 午夜精品久久久久久久久久久 | 午夜精品一区二区三区免费视频| 欧美一级片免费看| 91社区在线播放| 激情五月婷婷综合网| 亚洲免费在线看| 久久久不卡网国产精品一区| 欧美这里有精品| 国产一区二区导航在线播放| 亚洲人成网站在线| 久久久亚洲精品一区二区三区 | 国产精品不卡一区二区三区| 欧美一区二区在线免费播放| 99国产精品国产精品久久| 日韩精品午夜视频| 中文在线一区二区| 精品日韩一区二区| 精品视频全国免费看| 岛国精品一区二区| 极品尤物av久久免费看| 午夜精品一区在线观看| 亚洲人123区| 国产精品理论片| 久久蜜臀精品av| 69堂精品视频| 91搞黄在线观看| 成人av网站在线观看免费| 精品亚洲porn| 九九久久精品视频| 免费精品视频最新在线| 亚洲成人一二三| 亚洲国产一区二区三区| 亚洲久草在线视频| 亚洲欧洲一区二区在线播放| 国产欧美日韩中文久久| 精品电影一区二区| 欧美精品一区二区在线播放| 91精品欧美综合在线观看最新 | 欧美一区二区人人喊爽| 91黄色在线观看| 色婷婷综合久久| 91福利在线导航| 在线看国产一区二区| 一本到一区二区三区| 91小视频免费看| 色偷偷成人一区二区三区91| 91浏览器在线视频| 在线观看免费一区| 欧美日韩精品一二三区| 欧美日韩视频在线第一区| 欧美日韩大陆在线| 51精品国自产在线| 日韩一级黄色大片| 日韩精品一区二区三区中文精品| 日韩网站在线看片你懂的| 欧美zozozo| 国产欧美精品一区二区色综合朱莉 | 一本色道**综合亚洲精品蜜桃冫| 国产不卡在线视频| 成人性视频免费网站| 成人激情免费视频| 一本大道久久a久久综合| 在线观看区一区二| 56国语精品自产拍在线观看| 91精品国产91综合久久蜜臀| 日韩欧美区一区二| 久久久久久久久久久黄色| 国产精品色一区二区三区| 亚洲色图在线播放| 日韩在线一区二区三区| 国产一区三区三区| www.av精品| 91精品在线一区二区| 精品乱人伦小说| 国产精品二区一区二区aⅴ污介绍| 亚洲美女少妇撒尿| 日本aⅴ免费视频一区二区三区| 韩国成人在线视频| av网站一区二区三区| 欧美日本韩国一区二区三区视频| 精品人在线二区三区| 亚洲欧洲精品天堂一级| 首页国产丝袜综合| 丁香另类激情小说| 欧美人xxxx| 国产精品麻豆一区二区| 视频一区欧美日韩| 国产综合色产在线精品| 欧美专区日韩专区| 欧美成人福利视频| 一区二区三区四区视频精品免费 | 国产真实乱子伦精品视频| 99久久久精品| 91精品国产91热久久久做人人 | 青青草国产成人99久久| 成人性生交大片免费看中文| 欧美日韩三级一区二区| 国产午夜精品福利| 男男gaygay亚洲| 色屁屁一区二区| 欧美xfplay| 亚洲国产欧美另类丝袜| 国产不卡在线视频| 日韩亚洲国产中文字幕欧美| 亚洲视频一区二区在线| 国产精品综合一区二区三区| 欧美男人的天堂一二区| 亚洲视频在线一区二区| 国产麻豆日韩欧美久久| 91精品在线麻豆| 亚洲宅男天堂在线观看无病毒| 国产精品18久久久久久vr| 4438x亚洲最大成人网| 亚洲视频一区二区在线| 高清国产一区二区三区| 91精品国产免费久久综合| 亚洲男人电影天堂| 国产黄人亚洲片| 欧美变态凌虐bdsm| 免费观看在线色综合| 欧美日韩亚洲不卡| 伊人性伊人情综合网| av一区二区三区在线| 久久精品亚洲精品国产欧美kt∨| 蜜桃一区二区三区在线观看| 欧美日韩成人在线一区| 亚洲香肠在线观看| 欧美在线影院一区二区| 亚洲视频 欧洲视频| 91麻豆免费在线观看| 国产精品国产三级国产有无不卡| 国产精品一色哟哟哟| 国产无一区二区| 丁香六月综合激情| 中文一区二区在线观看 | 色噜噜狠狠一区二区三区果冻| 国产精品色眯眯| 不卡的av在线| 亚洲视频在线一区| 91丨国产丨九色丨pron| 亚洲日本在线看| 色偷偷一区二区三区| 亚洲福利电影网| 欧美日本在线视频| 人人狠狠综合久久亚洲| 日韩一区二区高清| 国产剧情av麻豆香蕉精品| 亚洲国产精品成人综合| 91污片在线观看| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩亚洲国产综合| 日精品一区二区| 精品免费视频.| 国产成人h网站| 亚洲激情综合网| 911精品国产一区二区在线| 麻豆精品视频在线观看视频| 久久先锋影音av| 色综合欧美在线视频区| 亚洲va欧美va国产va天堂影院| 91麻豆精品国产91久久久久 | jiyouzz国产精品久久| 亚洲欧洲中文日韩久久av乱码| 欧美体内she精高潮| 久久99精品国产麻豆婷婷| 中文字幕+乱码+中文字幕一区| 91成人在线免费观看| 日本一区中文字幕| 国产精品久久免费看| 欧美视频在线一区二区三区| 六月婷婷色综合| 中文字幕av一区二区三区高|