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

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

?? servicepermission.java

?? OSGI 的 源碼實現,采用JAVA書寫
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
                sb.append(REGISTER);            }            actions = sb.toString();        }        return(actions);    }    /**     * Returns a new <tt>PermissionCollection</tt> object for storing     * <tt>ServicePermission<tt> objects.     *     * @return A new <tt>PermissionCollection</tt> object suitable for storing     * <tt>ServicePermission</tt> objects.     */    public PermissionCollection newPermissionCollection()    {        return (new ServicePermissionCollection());    }    /**     * Determines the equalty of two ServicePermission objects.     *     * Checks that specified object has the same class name     * and action as this <tt>ServicePermission</tt>.     *     * @param obj The object to test for equality.     * @return true if obj is a <tt>ServicePermission</tt>, and has the     * same class name and actions as this <tt>ServicePermission</tt> object; <tt>false</tt> otherwise.     */    public boolean equals(Object obj)    {        if (obj == this)        {            return(true);        }        if (!(obj instanceof ServicePermission))        {            return(false);        }        ServicePermission p = (ServicePermission) obj;        return((action_mask == p.action_mask) &&        getName().equals(p.getName()));    }    /**     * Returns the hash code value for this object.     *     * @return Hash code value for this object.     */    public int hashCode()    {        return(getName().hashCode() ^ getActions().hashCode());    }    /**     * Returns the current action mask.     * Used by the ServicePermissionCollection object.     *     * @return The actions mask.     */    int getMask()    {        return (action_mask);    }    /**     * WriteObject is called to save the state of the ServicePermission     * to a stream. The actions are serialized, and the superclass     * takes care of the name.     */    private synchronized void writeObject(java.io.ObjectOutputStream s)        throws IOException    {        // Write out the actions. The superclass takes care of the name        // call getActions to make sure actions field is initialized        if (actions == null)            getActions();        s.defaultWriteObject();    }    /**     * readObject is called to restore the state of the ServicePermission from     * a stream.     */    private synchronized void readObject(java.io.ObjectInputStream s)        throws IOException, ClassNotFoundException    {        // Read in the action, then initialize the rest        s.defaultReadObject();        init(getMask(actions));    }}/** * Stores a set of ServicePermission permissions. * * @see java.security.Permission * @see java.security.Permissions * @see java.security.PermissionCollection */final class ServicePermissionCollection extends PermissionCollection{    /**     * Table of permissions.     *     * @serial     */    private Hashtable permissions;    /**     * Boolean saying if "*" is in the collection.     *     * @serial     */    private boolean all_allowed;    /**     * Creates an empty ServicePermissions object.     *     */    public ServicePermissionCollection()    {        permissions = new Hashtable();        all_allowed = false;    }    /**     * Adds a permission to the <tt>ServicePermission</tt> objects using the key for the hash as     * the name.     *     * @param permission The Permission object to add.     *     * @exception IllegalArgumentException If the permission is not a ServicePermission object.     *     * @exception SecurityException If this <tt>ServicePermissionCollection</tt> object has been marked read-only.     */    public void add(Permission permission)    {        if (! (permission instanceof ServicePermission))            throw new IllegalArgumentException("invalid permission: "+                                               permission);        if (isReadOnly())            throw new SecurityException("attempt to add a Permission to a " +                    "readonly PermissionCollection");        ServicePermission sp = (ServicePermission) permission;        String name = sp.getName();        ServicePermission existing =        (ServicePermission) permissions.get(name);        if (existing != null)        {            int oldMask = existing.getMask();            int newMask = sp.getMask();            if (oldMask != newMask)            {                permissions.put(name,                new ServicePermission(name,                            oldMask | newMask));            }        }        else        {            permissions.put(name, permission);        }        if (!all_allowed)        {            if (name.equals("*"))                all_allowed = true;        }    }    /**     * Determines if a set of permissions implies the permissions     * expressed in <tt>permission</tt>.     *     * @param p The Permission object to compare.     *     * @return <tt>true</tt> if <tt>permission</tt> is a proper subset of a permission in     * the set; <tt>false</tt> otherwise.     */    public boolean implies(Permission permission)    {        if (!(permission instanceof ServicePermission))            return (false);        ServicePermission sp = (ServicePermission) permission;        ServicePermission x;        int desired = sp.getMask();        int effective = 0;        // short circuit if the "*" Permission was added        if (all_allowed)        {            x = (ServicePermission) permissions.get("*");            if (x != null)            {                effective |= x.getMask();                if ((effective & desired) == desired)                    return (true);            }        }        // strategy:        // Check for full match first. Then work our way up the        // name looking for matches on a.b.*        String name = sp.getName();        x = (ServicePermission) permissions.get(name);        if (x != null)        {            // we have a direct hit!            effective |= x.getMask();            if ((effective & desired) == desired)                return (true);        }        // work our way up the tree...        int last, offset;        offset = name.length()-1;        while ((last = name.lastIndexOf(".", offset)) != -1)        {            name = name.substring(0, last+1) + "*";            x = (ServicePermission) permissions.get(name);            if (x != null)            {                effective |= x.getMask();                if ((effective & desired) == desired)                    return (true);            }            offset = last -1;        }        // we don't have to check for "*" as it was already checked        // at the top (all_allowed), so we just return false        return (false);    }    /**     * Returns an enumeration of all the <tt>ServicePermission</tt> objects in the     * container.     *     * @return Enumeration of all the ServicePermission objects.     */    public Enumeration elements()    {        return (permissions.elements());    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久美女毛片| 男女激情视频一区| 视频在线观看一区二区三区| 国产另类ts人妖一区二区| 91麻豆swag| 欧美国产激情一区二区三区蜜月| 亚洲成av人**亚洲成av**| 国产成人av网站| 欧美一区二区三区在线电影| 亚洲精品国产高清久久伦理二区| 成人午夜电影网站| 欧美高清视频不卡网| 亚洲三级小视频| 国产精品88888| 日韩欧美电影在线| 亚洲五码中文字幕| 91黄色在线观看| 国产精品国产三级国产a| 狠狠久久亚洲欧美| 日韩一本二本av| 天堂在线一区二区| 欧美亚洲一区二区在线| **欧美大码日韩| 成人免费视频网站在线观看| 欧美精品一区二区三区久久久| 日韩精品欧美精品| 在线视频欧美精品| 一区二区三区欧美久久| 成人爱爱电影网址| 中文字幕一区二区三区色视频 | 欧美三级韩国三级日本三斤| 日本一区二区高清| 国产 欧美在线| 日本一区二区三区电影| 国产成人欧美日韩在线电影| 久久久亚洲精品一区二区三区| 久久99热这里只有精品| 欧美一区二区大片| 老司机精品视频导航| 精品国产乱码久久| 国产精品综合av一区二区国产馆| 久久这里只有精品6| 狠狠色丁香久久婷婷综合_中 | 欧美中文字幕一区二区三区亚洲| 成人免费在线视频| 欧美性生交片4| 亚洲成av人片在线观看无码| 欧美高清视频一二三区| 麻豆成人av在线| 久久蜜桃av一区二区天堂| 国产v综合v亚洲欧| 国产精品乱码人人做人人爱| 91免费版在线| 亚洲午夜精品在线| 欧美大尺度电影在线| 国产成人在线免费观看| 日韩美女精品在线| 欧美顶级少妇做爰| 国产精品原创巨作av| 中文字幕在线观看不卡| 欧洲精品一区二区三区在线观看| 亚洲一二三四区不卡| 欧美一区二区三区日韩| 国产剧情一区二区三区| 亚洲日本成人在线观看| 欧美在线不卡视频| 国内一区二区视频| 亚洲天堂精品在线观看| 欧美精选午夜久久久乱码6080| 韩国av一区二区三区| 亚洲另类春色校园小说| 欧美一区二区在线不卡| 顶级嫩模精品视频在线看| 一区二区三区四区国产精品| 日韩免费在线观看| 色综合天天综合色综合av | 亚洲精品福利视频网站| 欧美久久久久久蜜桃| 东方欧美亚洲色图在线| 亚洲成人免费看| 中文字幕精品三区| 日韩一区二区视频| 91久久精品网| 国产精品白丝av| 亚洲v日本v欧美v久久精品| 国产日韩精品一区| 日韩一区二区麻豆国产| av一区二区久久| 国产乱码精品一区二区三区av| 亚洲国产sm捆绑调教视频| 久久精品视频网| 欧美精品乱码久久久久久| eeuss鲁一区二区三区| 另类调教123区 | 国产精品白丝在线| 精品国内二区三区| 欧美日韩一区二区三区视频| av综合在线播放| 国产精品一级二级三级| 日本伊人精品一区二区三区观看方式| 国产精品的网站| 国产亚洲综合在线| 精品国产自在久精品国产| 欧美日韩精品免费观看视频| 91在线精品一区二区| 成人自拍视频在线| 国产成人综合精品三级| 精品亚洲免费视频| 精品一区二区三区不卡| 同产精品九九九| 亚洲午夜成aⅴ人片| 一区二区三区在线视频免费| 最新热久久免费视频| 国产精品久久久久一区二区三区| 久久精品一区四区| 26uuu成人网一区二区三区| 日韩欧美aaaaaa| 日韩一区二区精品| 欧美一区二区播放| 日韩欧美中文字幕制服| 91精品国产91综合久久蜜臀| 91精品国产一区二区三区蜜臀| 欧美日韩精品一区二区三区四区| 在线免费不卡电影| 欧美精品aⅴ在线视频| 欧美肥妇bbw| 日韩一区二区在线观看视频播放| 欧美一区二区三区免费观看视频| 欧美高清视频在线高清观看mv色露露十八| 欧美日韩夫妻久久| 欧美精品自拍偷拍动漫精品| 在线不卡a资源高清| 日韩免费在线观看| 久久久不卡影院| 亚洲啪啪综合av一区二区三区| 亚洲婷婷综合久久一本伊一区| 亚洲黄网站在线观看| 亚洲一级电影视频| 日本一不卡视频| 韩国在线一区二区| 成人美女在线视频| 欧美少妇bbb| 欧美一区二区三区视频免费播放 | 国产精品丝袜在线| 亚洲欧美日韩电影| 丝瓜av网站精品一区二区| 久久国产人妖系列| 99久久99久久精品免费看蜜桃| 欧美视频一区二区三区四区 | 久久久久久97三级| 亚洲精品国产一区二区精华液 | 国产成人免费网站| 一本大道av伊人久久综合| 欧美日韩五月天| 精品国产麻豆免费人成网站| 中文av一区二区| 日韩av在线播放中文字幕| 国产精品123| 在线电影欧美成精品| 欧美国产精品v| 日产国产高清一区二区三区| 成人福利视频在线| 一区二区三区成人在线视频| www.亚洲激情.com| 国产精品日韩精品欧美在线| 亚洲精品免费一二三区| 美女视频黄免费的久久| 美国十次了思思久久精品导航| 国产一区二区三区在线观看免费| 国产激情一区二区三区四区| 在线免费观看成人短视频| 日本一区二区久久| 不卡视频一二三| 3atv一区二区三区| 久久69国产一区二区蜜臀| 老司机午夜精品| 久久久精品中文字幕麻豆发布| 一本色道久久综合亚洲91| 欧美成人三级电影在线| 亚洲欧美视频一区| 国产精品亚洲综合一区在线观看| 在线观看欧美黄色| 中文字幕一区三区| 成人污污视频在线观看| 精品少妇一区二区三区 | 成人性生交大片免费看中文网站| 欧美日韩精品免费| 一区二区在线观看视频| 成人美女视频在线看| 欧美成人一区二区| 日韩电影网1区2区| 欧美午夜影院一区| 亚洲黄色av一区| 91蜜桃免费观看视频| 国产精品午夜久久| 成人免费视频免费观看| 亚洲国产精品av| 国产69精品久久久久777| 精品国产一区二区三区久久久蜜月| 五月天亚洲精品|