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

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

?? packagepermission.java

?? OSGI 的 源碼實現,采用JAVA書寫
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * $Header: /cvshome/repository/org/osgi/framework/PackagePermission.java,v 1.10 2002/10/07 07:14:18 pkriens Exp $ * * Copyright (c) The Open Services Gateway Initiative (2000, 2002). * All Rights Reserved. * * Implementation of certain elements of the Open Services Gateway Initiative * (OSGI) Specification may be subject to third party intellectual property * rights, including without limitation, patent rights (such a third party may * or may not be a member of OSGi). OSGi is not responsible and shall not be * held responsible in any manner for identifying or failing to identify any or * all such third party intellectual property rights. * * This document and the information contained herein are provided on an "AS * IS" basis and OSGI DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL * NOT INFRINGE ANY RIGHTS AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL OSGI BE LIABLE FOR ANY * LOSS OF PROFITS, LOSS OF BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF * BUSINESS, OR FOR DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTIAL, * PUNITIVE OR CONSEQUENTIAL DAMAGES OF ANY KIND IN CONNECTION WITH THIS * DOCUMENT OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. * * All Company, brand and product names may be trademarks that are the sole * property of their respective owners. All rights reserved. */package org.osgi.framework;import java.io.IOException;import java.security.BasicPermission;import java.security.Permission;import java.security.PermissionCollection;import java.util.Enumeration;import java.util.Hashtable;/** * A bundle's authority to import or export a package. * * <p>A package is a dot-separated string that defines a fully qualified Java * package. * <p>For example: * <pre> * <tt>org.osgi.service.http</tt> * </pre> * <p><tt>PackagePermission</tt> has two actions: <tt>EXPORT</tt> and <tt>IMPORT</tt>. * The <tt>EXPORT</tt> action implies the <tt>IMPORT</tt> action. * * @version $Revision: 1.10 $ * @author Open Services Gateway Initiative */public final class PackagePermission extends BasicPermission{    /**     * The action string <tt>export</tt>.     */    public final static String EXPORT = "export";    /**     * The action string <tt>import</tt>.     */    public final static String IMPORT = "import";    private final static int ACTION_EXPORT      = 0x00000001;    private final static int ACTION_IMPORT      = 0x00000002;    private final static int ACTION_ALL         = ACTION_EXPORT | ACTION_IMPORT;    private final static int ACTION_NONE        = 0;    private final static int ACTION_ERROR       = 0x80000000;    /**     * The actions mask.     */    private transient int action_mask = ACTION_NONE;    /**     * The actions in canonical form.     *     * @serial     */    private String actions = null;    /**     * Defines the authority to import and/or export a package within the OSGi environment.     * <p>The name is specified as a normal Java package name: a dot-separated string. Wildcards may be used.     * For example:     * <pre>     * org.osgi.service.http     * javax.servlet.*     * *     * </pre>     * <p>Package Permissions are granted over all possible versions of a package.     *     * A bundle that needs to export a package must have the appropriate <tt>PackagePermission</tt>     * for that package; similarly, a bundle that needs to import a package must have the appropriate     * <tt>PackagePermssion</tt> for that package.     * <p>Permission is granted for both classes and resources.     * @param name Package name.     * @param actions <tt>EXPORT</tt>, <tt>IMPORT</tt> (canonical order).     */    public PackagePermission(String name, String actions)    {        this(name, getMask(actions));    }    /**     * Package private constructor used by PackagePermissionCollection.     *     * @param name class name     * @param action mask     */    PackagePermission(String name, int mask)    {        super(name);        init(mask);    }    /**     * Called by constructors and when deserialized.     *     * @param action mask     */    private void init(int mask)    {        if ((mask == ACTION_NONE) ||            ((mask & ACTION_ALL) != mask))        {            throw new IllegalArgumentException("invalid action string");        }        action_mask = mask;    }    /**     * Parse action string into action mask.     *     * @param actions Action string.     * @return action mask.     */    private static int getMask(String actions)    {        boolean seencomma = false;        int mask = ACTION_NONE;        if (actions == null)        {            return (mask);        }        char[] a = actions.toCharArray();        int i = a.length - 1;        if (i < 0)            return (mask);        while (i != -1)        {            char c;            // skip whitespace            while ((i!=-1) && ((c = a[i]) == ' ' ||                               c == '\r' ||                               c == '\n' ||                               c == '\f' ||                               c == '\t'))                i--;            // check for the known strings            int matchlen;            if (i >= 5 && (a[i-5] == 'i' || a[i-5] == 'I') &&                (a[i-4] == 'm' || a[i-4] == 'M') &&                (a[i-3] == 'p' || a[i-3] == 'P') &&                (a[i-2] == 'o' || a[i-2] == 'O') &&                (a[i-1] == 'r' || a[i-1] == 'R') &&                (a[i] == 't' || a[i] == 'T'))            {                matchlen = 6;                mask |= ACTION_IMPORT;            }            else if (i >= 5 && (a[i-5] == 'e' || a[i-5] == 'E') &&                     (a[i-4] == 'x' || a[i-4] == 'X') &&                     (a[i-3] == 'p' || a[i-3] == 'P') &&                     (a[i-2] == 'o' || a[i-2] == 'O') &&                     (a[i-1] == 'r' || a[i-1] == 'R') &&                     (a[i] == 't' || a[i] == 'T'))            {                matchlen = 6;                mask |= ACTION_EXPORT | ACTION_IMPORT;            }            else            {                // parse error                throw new IllegalArgumentException("invalid permission: " +                                                   actions);            }            // make sure we didn't just match the tail of a word            // like "ackbarfimport".  Also, skip to the comma.            seencomma = false;            while (i >= matchlen && !seencomma)            {                switch (a[i-matchlen])                {                    case ',':                        seencomma = true;                        /*FALLTHROUGH*/                    case ' ':                    case '\r':                    case '\n':                    case '\f':                    case '\t':                        break;                    default:                        throw new IllegalArgumentException("invalid permission: " +                                                           actions);                }                i--;            }            // point i at the location of the comma minus one (or -1).            i -= matchlen;        }        if (seencomma)        {            throw new IllegalArgumentException("invalid permission: " +                                               actions);        }        return (mask);    }    /**     * Determines if the specified permission is implied by this object.     *     * <p>This method checks that the package name of the target is implied by the package name     * of this object. The list of <tt>PackagePermission</tt> actions must either match or allow     * for the list of the target object to imply the target <tt>PackagePermission</tt> action.     * <p>The permission to export a package implies the permission to import the named package.     * <pre>     * x.y.*,"export" -> x.y.z,"export" is true     * *,"import" -> x.y, "import"      is true     * *,"export" -> x.y, "import"      is true     * x.y,"export" -> x.y.z, "export"  is false     * </pre>     *     * @param p The target permission to interrogate.     * @return <tt>true</tt> if the specified <tt>PackagePermission</tt> action is implied by     * this object; <tt>false</tt> otherwise.     */    public boolean implies(Permission p)    {        if (p instanceof PackagePermission)        {            PackagePermission target = (PackagePermission) p;            return(((action_mask & target.action_mask)==target.action_mask) &&                   super.implies(p));        }        return(false);    }    /**     * Returns the canonical string representation of the <tt>PackagePermission</tt> actions.     *     * <p>Always returns present <tt>PackagePermission</tt> actions in the following order:     * <tt>EXPORT</tt>, <tt>IMPORT</tt>.     * @return Canonical string representation of the <tt>PackagePermission</tt> actions.     */    public String getActions()    {        if (actions == null)        {            StringBuffer sb = new StringBuffer();            boolean comma = false;            if ((action_mask & ACTION_EXPORT) == ACTION_EXPORT)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区成人在线观看| 色婷婷久久久综合中文字幕| 91小视频免费观看| 精品处破学生在线二十三| 中文字幕一区二区三区av| 日韩专区一卡二卡| 91国在线观看| 最新高清无码专区| 国产精品538一区二区在线| 欧美久久一区二区| 一区二区三区中文字幕在线观看| 国产在线不卡一区| 日韩欧美一级二级三级久久久| 亚洲色欲色欲www| 成人免费av资源| 久久久亚洲国产美女国产盗摄| 日韩精品电影在线观看| 色婷婷精品大在线视频 | 日韩欧美成人一区二区| 一区二区三区在线观看国产| av午夜一区麻豆| 亚洲国产成人在线| 国产精品一区二区在线观看不卡| 日韩视频一区二区三区| 午夜av电影一区| 欧美日韩久久久久久| 亚洲国产日韩精品| 欧美日韩你懂的| 日韩精品亚洲一区二区三区免费| 欧美日韩综合在线| 日韩专区中文字幕一区二区| 欧美日韩免费电影| 免费人成网站在线观看欧美高清| 欧美日韩一区二区三区不卡 | 国产精品视频看| 国产成人综合视频| 久久综合久久99| 国产呦萝稀缺另类资源| 国产情人综合久久777777| 国产成人午夜电影网| 中文字幕精品一区二区三区精品| 成人精品gif动图一区| 亚洲视频综合在线| 欧美视频日韩视频在线观看| 亚洲黄色av一区| 欧美精品vⅰdeose4hd| 久久国产精品第一页| 久久久久久黄色| www..com久久爱| 亚洲一区二区3| 日韩免费观看高清完整版| 久99久精品视频免费观看| 国产欧美视频在线观看| 色婷婷综合久久久| 久久精品国产**网站演员| 日本一区二区视频在线| 欧美亚洲日本一区| 国产一区三区三区| 一区av在线播放| 日韩视频免费观看高清完整版 | 欧美精品在线观看一区二区| 麻豆91精品91久久久的内涵| 国产亚洲一区二区在线观看| 成人av在线网站| 美女网站色91| 亚洲人一二三区| 欧美一区二区网站| 99国产精品久久久久| 美女一区二区三区| 亚洲精品日日夜夜| 26uuuu精品一区二区| 在线免费一区三区| 国产伦精品一区二区三区在线观看 | 国产精品久久久久影视| 欧美日韩视频专区在线播放| 国产九色sp调教91| 日韩精品成人一区二区在线| 中文字幕一区二区在线观看 | 色婷婷综合激情| 国产综合色在线| 香蕉乱码成人久久天堂爱免费| 久久麻豆一区二区| 欧美顶级少妇做爰| 91香蕉视频污| 国产精品18久久久| 麻豆91精品视频| 天天操天天干天天综合网| 国产精品无遮挡| 久久久亚洲综合| 欧美一区二区三级| 在线免费精品视频| 97精品久久久午夜一区二区三区 | 91影院在线免费观看| 国产真实乱对白精彩久久| 天天色天天操综合| 亚洲444eee在线观看| 亚洲欧美日韩综合aⅴ视频| 国产日韩精品视频一区| 亚洲精品一区二区在线观看| 欧美精品久久天天躁| 欧洲中文字幕精品| 日本韩国欧美一区| 91麻豆精东视频| 91麻豆文化传媒在线观看| 粉嫩av亚洲一区二区图片| 国产九色sp调教91| 国产电影一区二区三区| 国产一区美女在线| 久久精品99国产国产精| 久久草av在线| 欧美偷拍一区二区| 91在线视频免费91| 色婷婷国产精品| 色偷偷成人一区二区三区91| 91免费观看视频在线| 色综合咪咪久久| 欧美伊人久久久久久久久影院 | 精品美女一区二区| 26uuu另类欧美亚洲曰本| 久久影音资源网| 国产日韩影视精品| 亚洲国产精品t66y| 亚洲人成伊人成综合网小说| 一区二区成人在线视频 | 国产99久久久精品| 99免费精品视频| 在线视频综合导航| 欧美日韩电影一区| 精品国产区一区| 欧美国产精品一区| 亚洲视频一区在线| 偷拍亚洲欧洲综合| 国产真实乱子伦精品视频| 成人小视频在线观看| 91丨国产丨九色丨pron| 欧美日韩免费在线视频| 精品美女一区二区| 综合久久给合久久狠狠狠97色| 亚洲第一av色| 国产一区二区美女| 欧美中文字幕一区二区三区亚洲| 6080日韩午夜伦伦午夜伦| 国产午夜精品久久久久久久| 亚洲三级小视频| 美女爽到高潮91| 一本高清dvd不卡在线观看| 欧美一区二区三区系列电影| 久久精品人人爽人人爽| 亚洲精品成a人| 国产一区二三区| 91在线看国产| 日韩欧美在线一区二区三区| 欧美国产综合色视频| 亚洲第一福利一区| 成人国产一区二区三区精品| 欧美午夜理伦三级在线观看| 久久久精品综合| 日韩1区2区3区| 91亚洲大成网污www| 久久亚洲精品小早川怜子| 亚洲一区中文在线| 成人自拍视频在线| 日韩欧美一区中文| 亚洲自拍与偷拍| 99天天综合性| 久久在线观看免费| 亚洲图片自拍偷拍| 91蜜桃网址入口| 国产欧美1区2区3区| 奇米在线7777在线精品| 91蝌蚪porny成人天涯| 久久久久久夜精品精品免费| 亚洲成av人影院| 色女孩综合影院| 亚洲欧洲日韩av| 国产成人综合在线| 久久综合色天天久久综合图片| 日韩极品在线观看| 在线一区二区视频| 成人欧美一区二区三区白人| 国产乱码精品1区2区3区| 日韩一区二区在线观看视频| 亚洲国产成人91porn| 色综合视频在线观看| 国产精品国产三级国产aⅴ无密码| 精品在线视频一区| 日韩亚洲欧美一区二区三区| 亚洲已满18点击进入久久| 一本到三区不卡视频| 综合欧美一区二区三区| 91在线无精精品入口| 国产一区二区福利| 久久精品网站免费观看| 国产一区二区三区在线观看免费 | 久久99久久精品| 欧美成人性战久久| 国产自产2019最新不卡| ww亚洲ww在线观看国产| 国产成人免费高清| 国产片一区二区三区|