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

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

?? policy.java

?? linux下編程用 編譯軟件
?? JAVA
字號:
/* Policy.java --- Policy Manager Class   Copyright (C) 1999, 2003, 2004 Free Software Foundation, Inc.This file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301 USA.Linking this library statically or dynamically with other modules ismaking a combined work based on this library.  Thus, the terms andconditions of the GNU General Public License cover the wholecombination.As a special exception, the copyright holders of this library give youpermission to link this library with independent modules to produce anexecutable, regardless of the license terms of these independentmodules, and to copy and distribute the resulting executable underterms of your choice, provided that you also meet, for each linkedindependent module, the terms and conditions of the license of thatmodule.  An independent module is a module which is not derived fromor based on this library.  If you modify this library, you may extendthis exception to your version of the library, but you are notobligated to do so.  If you do not wish to do so, delete thisexception statement from your version. */package java.security;import java.util.Collections;import java.util.Enumeration;import java.util.LinkedHashMap;import java.util.Map;/** * <p>This is an abstract class for representing the system security policy for * a Java application environment (specifying which permissions are available * for code from various sources). That is, the security policy is represented * by a <code>Policy</code> subclass providing an implementation of the abstract * methods in this <code>Policy</code> class.</p> * * <p>There is only one <code>Policy</code> object in effect at any given time. * </p> * * <p>The source location for the policy information utilized by the * <code>Policy</code> object is up to the <code>Policy</code> implementation. * The policy configuration may be stored, for example, as a flat ASCII file, as * a serialized binary file of the <code>Policy</code> class, or as a database. * </p> * * <p>The currently-installed <code>Policy</code> object can be obtained by * calling the <code>getPolicy()</code> method, and it can be changed by a call * to the <code>setPolicy()</code> method (by code with permission to reset the * <code>Policy</code>).</p> * * <p>The <code>refresh()</code> method causes the policy object to refresh / * reload its current configuration.</p> * * <p>This is implementation-dependent. For example, if the policy object stores * its policy in configuration files, calling <code>refresh()</code> will cause * it to re-read the configuration policy files. The refreshed policy may not * have an effect on classes in a particular {@link ProtectionDomain}. This is * dependent on the <code>Policy</code> provider's implementation of the * <code>implies()</code> method and the {@link PermissionCollection} caching * strategy.</p> * * <p>The default <code>Policy</code> implementation can be changed by setting * the value of the <code>"policy.provider"</code> security property (in the * Java security properties file) to the fully qualified name of the desired * <code>Policy</code> implementation class. The Java security properties file * is located in the file named <code>&lt;JAVA_HOME>/lib/security/java.security * </code>, where <code>&lt;JAVA_HOME></code> refers to the directory where the * SDK was installed.</p> * * <p><b>IMPLEMENTATION NOTE:</b> This implementation attempts to read the * System property named <code>policy.provider</code> to find the concrete * implementation of the <code>Policy</code>. If/when this fails, it falls back * to a default implementation, which <b>allows everything</b>. * * @author Mark Benvenuto * @see CodeSource * @see PermissionCollection * @see SecureClassLoader * @since 1.2 */public abstract class Policy{  private static Policy currentPolicy;  /** Map of ProtectionDomains to PermissionCollections for this instance. */  private Map pd2pc = null;  /** Constructs a new <code>Policy</code> object. */  public Policy()  {  }  /**   * Returns the installed <code>Policy</code> object. This value should not be   * cached, as it may be changed by a call to <code>setPolicy()</code>. This   * method first calls {@link SecurityManager#checkPermission(Permission)} with   * a <code>SecurityPermission("getPolicy")</code> permission to ensure it's ok   * to get the <code>Policy</code> object.   *   * @return the installed <code>Policy</code>.   * @throws SecurityException if a security manager exists and its   * <code>checkPermission()</code> method doesn't allow getting the   * <code>Policy</code> object.   * @see SecurityManager#checkPermission(Permission)   * @see #setPolicy(Policy)   */  public static Policy getPolicy()  {    SecurityManager sm = System.getSecurityManager();    if (sm != null)      sm.checkPermission(new SecurityPermission("getPolicy"));    return getCurrentPolicy();  }  /**   * Sets the system-wide <code>Policy</code> object. This method first calls   * {@link SecurityManager#checkPermission(Permission)} with a   * <code>SecurityPermission("setPolicy")</code> permission to ensure it's ok   * to set the <code>Policy</code>.   *   * @param policy the new system <code>Policy</code> object.   * @throws SecurityException if a security manager exists and its   * <code>checkPermission()</code> method doesn't allow setting the   * <code>Policy</code>.   * @see SecurityManager#checkPermission(Permission)   * @see #getPolicy()   */  public static void setPolicy(Policy policy)  {    SecurityManager sm = System.getSecurityManager();    if (sm != null)      sm.checkPermission(new SecurityPermission("setPolicy"));    setup(policy);    currentPolicy = policy;  }  private static void setup(final Policy policy)  {    if (policy.pd2pc == null)      policy.pd2pc = Collections.synchronizedMap(new LinkedHashMap());    ProtectionDomain pd = policy.getClass().getProtectionDomain();    if (pd.getCodeSource() != null)      {        PermissionCollection pc = null;        if (currentPolicy != null)          pc = currentPolicy.getPermissions(pd);        if (pc == null) // assume it has all          {            pc = new Permissions();            pc.add(new AllPermission());          }        policy.pd2pc.put(pd, pc); // add the mapping pd -> pc      }  }  /**   * Ensures/forces loading of the configured policy provider, while bypassing   * the {@link SecurityManager} checks for <code>"getPolicy"</code> security   * permission.  Needed by {@link ProtectionDomain}.   */  static Policy getCurrentPolicy()  {    // FIXME: The class name of the Policy provider should really be sourced    // from the "java.security" configuration file. For now, just hard-code    // a stub implementation.    if (currentPolicy == null)      {        String pp = System.getProperty ("policy.provider");        if (pp != null)          try            {              currentPolicy = (Policy) Class.forName(pp).newInstance();            }	  catch (Exception e)	    {	      // Ignored.	    }        if (currentPolicy == null)          currentPolicy = new gnu.java.security.provider.DefaultPolicy();      }    return currentPolicy;  }  /**   * Tests if <code>currentPolicy</code> is not <code>null</code>,   * thus allowing clients to not force loading of any policy   * provider; needed by {@link ProtectionDomain}.   */  static boolean isLoaded()  {    return currentPolicy != null;  }  /**   * Evaluates the global policy and returns a {@link PermissionCollection}   * object specifying the set of permissions allowed for code from the   * specified code source.   *   * @param codesource the {@link CodeSource} associated with the caller. This   * encapsulates the original location of the code (where the code came from)   * and the public key(s) of its signer.   * @return the set of permissions allowed for code from codesource according   * to the policy. The returned set of permissions must be a new mutable   * instance and it must support heterogeneous {@link Permission} types.   */  public abstract PermissionCollection getPermissions(CodeSource codesource);  /**   * Evaluates the global policy and returns a {@link PermissionCollection}   * object specifying the set of permissions allowed given the characteristics   * of the protection domain.   *   * @param domain the {@link ProtectionDomain} associated with the caller.   * @return the set of permissions allowed for the domain according to the   * policy. The returned set of permissions must be a new mutable instance and   * it must support heterogeneous {@link Permission} types.   * @since 1.4   * @see ProtectionDomain   * @see SecureClassLoader   */  public PermissionCollection getPermissions(ProtectionDomain domain)  {    if (domain == null)      return new Permissions();    if (pd2pc == null)      setup(this);    PermissionCollection result = (PermissionCollection) pd2pc.get(domain);    if (result != null)      {        Permissions realResult = new Permissions();        for (Enumeration e = result.elements(); e.hasMoreElements(); )          realResult.add((Permission) e.nextElement());        return realResult;      }    result = getPermissions(domain.getCodeSource());    if (result == null)      result = new Permissions();    PermissionCollection pc = domain.getPermissions();    if (pc != null)      for (Enumeration e = pc.elements(); e.hasMoreElements(); )        result.add((Permission) e.nextElement());    return result;  }  /**   * Evaluates the global policy for the permissions granted to the {@link   * ProtectionDomain} and tests whether the <code>permission</code> is granted.   *   * @param domain the {@link ProtectionDomain} to test.   * @param permission the {@link Permission} object to be tested for   * implication.   * @return <code>true</code> if <code>permission</code> is a proper subset of   * a permission granted to this {@link ProtectionDomain}.   * @since 1.4   * @see ProtectionDomain   */  public boolean implies(ProtectionDomain domain, Permission permission)  {    if (pd2pc == null)      setup(this);    PermissionCollection pc = (PermissionCollection) pd2pc.get(domain);    if (pc != null)      return pc.implies(permission);    boolean result = false;    pc = getPermissions(domain);    if (pc != null)      {        result = pc.implies(permission);        pd2pc.put(domain, pc);      }    return result;  }  /**   * Refreshes/reloads the policy configuration. The behavior of this method   * depends on the implementation. For example, calling refresh on a file-based   * policy will cause the file to be re-read.   */  public abstract void refresh();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡视频在线| 99久久免费视频.com| 精品中文av资源站在线观看| 精品午夜久久福利影院| 成人ar影院免费观看视频| 91福利区一区二区三区| 欧美最猛黑人xxxxx猛交| 欧美一级日韩免费不卡| 中文字幕不卡在线播放| 亚洲成人tv网| 国产高清精品网站| 91女神在线视频| 欧美mv和日韩mv的网站| 亚洲人成网站在线| 精品一区二区精品| 欧美丝袜丝nylons| 久久精品亚洲麻豆av一区二区| 亚洲精品一二三区| 久88久久88久久久| 粉嫩蜜臀av国产精品网站| 精品视频一区 二区 三区| 久久久久久久久久看片| 亚洲成av人片一区二区| 丰满白嫩尤物一区二区| 日韩欧美国产电影| 亚洲综合区在线| 国产91精品精华液一区二区三区 | 亚洲国产精品精华液ab| 亚洲第一综合色| 成人国产精品免费| 91麻豆精品国产91久久久久久久久| 欧美激情在线一区二区| 久久99精品久久久久久国产越南| 在线视频中文字幕一区二区| 中文字幕av一区 二区| 另类小说色综合网站| 欧美亚一区二区| 自拍偷拍亚洲综合| 高清不卡在线观看av| 久久久久久麻豆| 久久国产视频网| 欧美精品一二三| 亚洲一区二区在线播放相泽| 99久久精品免费| 国产精品久久久久影院老司| 国产美女久久久久| 久久久久国产精品人| 国产福利电影一区二区三区| 91精品国产综合久久蜜臀| 午夜精品久久久久久久99樱桃| 成人av在线资源| 中文字幕在线不卡| 91在线视频观看| 中文字幕亚洲精品在线观看| 成人免费福利片| 国产欧美一区二区三区在线看蜜臀| 激情综合亚洲精品| wwwwxxxxx欧美| 国产99久久久国产精品潘金| 久久婷婷久久一区二区三区| 精品一区二区久久| 欧美国产成人精品| 成人激情小说网站| 亚洲最大成人综合| 日本精品免费观看高清观看| 亚洲国产精品尤物yw在线观看| 91国偷自产一区二区开放时间 | 中文欧美字幕免费| 国产白丝精品91爽爽久久| 国产亚洲欧美一级| av一区二区三区黑人| 国产精品国产三级国产专播品爱网| 丰满放荡岳乱妇91ww| 亚洲女同女同女同女同女同69| 欧美性大战久久| 久久99精品国产.久久久久久| 国产日韩欧美精品综合| 97精品视频在线观看自产线路二| 日韩综合小视频| 国产精品久久看| 精品国产三级a在线观看| 色婷婷久久久亚洲一区二区三区 | av在线不卡网| 黑人精品欧美一区二区蜜桃| 亚洲综合成人在线| 中文字幕不卡三区| 欧美精品一区二| 欧美剧情片在线观看| 97精品国产97久久久久久久久久久久 | 亚洲123区在线观看| 国产人妖乱国产精品人妖| 91麻豆精品国产| 在线视频一区二区三| 国产激情一区二区三区桃花岛亚洲| 亚洲综合免费观看高清完整版在线 | 久久夜色精品国产欧美乱极品| 欧美日韩你懂得| 色94色欧美sute亚洲线路二| 成人黄色在线看| 国产乱妇无码大片在线观看| 美女诱惑一区二区| 亚洲第一综合色| 亚洲成人资源在线| 一区二区三区色| 亚洲免费观看高清完整版在线| 国产精品视频观看| 中文在线一区二区| 国产欧美精品一区aⅴ影院| 337p粉嫩大胆噜噜噜噜噜91av| 欧美一二三四在线| 欧美一级欧美三级在线观看| 欧美日韩视频在线第一区| 欧美亚洲综合久久| 欧美日韩在线播放一区| 欧美色手机在线观看| 91福利在线导航| 在线成人av影院| 欧美一级片在线| 2021国产精品久久精品| 久久精品男人天堂av| 中文字幕精品一区二区精品绿巨人 | 国产毛片精品国产一区二区三区| 久久aⅴ国产欧美74aaa| 国产九色sp调教91| 国产91精品一区二区麻豆亚洲| 粉嫩一区二区三区性色av| 91麻豆产精品久久久久久 | 亚洲精选视频免费看| 亚洲一二三级电影| 日本在线不卡视频一二三区| 免费看日韩精品| 国产精品一区专区| 99九九99九九九视频精品| 欧美综合色免费| 日韩一区二区三区视频在线| 337p粉嫩大胆噜噜噜噜噜91av| 久久九九影视网| 亚洲美女电影在线| 偷拍一区二区三区四区| 国产自产v一区二区三区c| 成人激情免费视频| 在线电影院国产精品| 国产欧美精品一区aⅴ影院| 一区二区三区国产精华| 毛片av一区二区| 波多野结衣在线一区| 欧美揉bbbbb揉bbbbb| 2欧美一区二区三区在线观看视频| 国产精品传媒在线| 免费观看久久久4p| voyeur盗摄精品| 欧美伦理影视网| 中文在线一区二区| 免费高清在线一区| 99久久免费视频.com| 日韩欧美电影一二三| 国产精品高清亚洲| 蜜桃视频在线一区| 在线观看国产日韩| 久久久久久免费| 天天色天天操综合| 国产精品系列在线播放| 欧美日韩三级在线| 日韩伦理免费电影| 久久国产免费看| 91国产免费看| 久久新电视剧免费观看| 亚洲h在线观看| av一区二区三区四区| 欧美一级国产精品| 亚洲国产综合在线| 99精品视频一区| 久久色在线观看| 免费人成精品欧美精品| 色88888久久久久久影院野外| 久久嫩草精品久久久精品| 午夜电影一区二区三区| 色综合久久九月婷婷色综合| 久久久久久电影| 国内精品写真在线观看| 欧美精品自拍偷拍| 一个色在线综合| 91亚洲精华国产精华精华液| 国产欧美一区二区三区沐欲| 久久不见久久见免费视频7| 欧美日韩激情在线| 亚洲一区自拍偷拍| 色哟哟在线观看一区二区三区| 国产精品麻豆久久久| 成人性生交大片免费看中文网站| 精品伦理精品一区| 国内外成人在线视频| 久久久亚洲精华液精华液精华液 | 日韩视频一区二区三区| 日韩和欧美一区二区三区| 欧美精品久久天天躁| 亚洲福利国产精品| 欧美丝袜丝交足nylons| 性久久久久久久久久久久| 欧美在线一区二区三区|