java.security

接口
异常
java.lang.Object
  继承者 java.security.PolicySpi

public abstract class PolicySpi
     
extends Object

此类为 Policy 类定义服务提供者接口 (SPI)。每个想要提供 Policy 实现的服务提供者都必须实现此类中的所有抽象方法。

此抽象类的子类实现必须提供可将 Policy.Parameters 对象作为输入参数的公共构造方法。如果此构造方法不理解 Policy.Parameters 输入,它同样必须抛出 IllegalArgumentException。

从以下版本开始:
1.6

构造方法摘要
PolicySpi()
           
 
方法摘要
protected  PermissionCollection engineGetPermissions(CodeSource codesource)
          返回包含授予指定 CodeSource 的权限集的 PermissionCollection 对象。
protected  PermissionCollection engineGetPermissions(ProtectionDomain domain)
          返回包含授予指定 ProtectionDomain 的权限集的 PermissionCollection 对象。
protected abstract  boolean engineImplies(ProtectionDomain domain, Permission permission)
          检查该策略是否已将 Permission 授予 ProtectionDomain。
protected  void engineRefresh()
          刷新/重载策略配置。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

PolicySpi

public PolicySpi()
方法详细信息

engineImplies

protected abstract boolean engineImplies(ProtectionDomain domain,
                                         Permission permission)
检查该策略是否已将 Permission 授予 ProtectionDomain。

参数:
domain - 要检查的 ProtectionDomain。
permission - 检查是否已将此权限授予指定的域。
返回:
如果已将此权限授予该域,则返回 boolean 值 true。

engineRefresh

protected void engineRefresh()
刷新/重载策略配置。此方法的行为取决于实现。例如,对基于文件的策略调用 refresh 将导致重新读取该文件。

此方法的默认实现不执行任何操作。如果策略实现支持刷新操作,则应该重写此方法。


engineGetPermissions

protected PermissionCollection engineGetPermissions(CodeSource codesource)
返回包含授予指定 CodeSource 的权限集的 PermissionCollection 对象。

此方法的默认实现返回 Policy.UNSUPPORTED_EMPTY_COLLECTION 对象。如果策略实现可以返回授予 CodeSource 的权限集,则可以重写此方法。

参数:
codesource - 授予了返回 PermissionCollection 的 CodeSource。
返回:
授予指定 CodeSource 的权限集。如果支持此操作,则返回的权限集必须是可变的新实例,并且它必须支持不同的 Permission 类型。如果不支持此操作,则返回 Policy.UNSUPPORTED_EMPTY_COLLECTION。

engineGetPermissions

protected PermissionCollection engineGetPermissions(ProtectionDomain domain)
返回包含授予指定 ProtectionDomain 的权限集的 PermissionCollection 对象。

此方法的默认实现返回 Policy.UNSUPPORTED_EMPTY_COLLECTION 对象。如果策略实现可以返回授予 ProtectionDomain 的权限集,则可以重写此方法。

参数:
domain - 授予了返回 PermissionCollection 的 ProtectionDomain。
返回:
授予指定 ProtectionDomain 的权限集。如果支持此操作,则返回的权限集必须是可变的新实例,并且它必须支持不同的 Permission 类型。如果不支持此操作,则返回 Policy.UNSUPPORTED_EMPTY_COLLECTION。