uTools-Manuals/docs/java/javax/management/MBeanPermission.html

381 lines
22 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact3
</div>
<div class="subTitle">
javax.management
</div>
<h2 class="title" title="Class MBeanPermission">Class MBeanPermission</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../java/security/Permission.html" title="class in java.security">java.security.Permission</a></li>
<li>
<ul class="inheritance">
<li>javax.management.MBeanPermission</li>
</ul> </li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../java/io/Serializable.html" title="java.io中的接口">Serializable</a> <a href="../../java/security/Guard.html" title="java.security中的接口">Guard</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public class <span class="typeNameLabel">MBeanPermission</span>
extends <a href="../../java/security/Permission.html" title="class in java.security">Permission</a></pre>
<div class="block">
<p> <span>控制访问MBeanServer操作的权限。</span> <span>如果使用<a href="../../java/lang/System.html#setSecurityManager-java.lang.SecurityManager-"><code>System.setSecurityManager(java.lang.SecurityManager)</code></a>设置了安全管理器则MBean Server上的大多数操作都要求调用者的权限意味着MBeanPermission适用于该操作。</span> <span>对此进行了详细的文档中描述<a href="../../javax/management/MBeanServer.html" title="javax.management中的接口"><code>MBeanServer</code></a>接口。</span> </p>
<p> <span>与其他<a href="../../java/security/Permission.html" title="java.security中的类"><code>Permission</code></a>对象一样MBeanPermission可以表示您<em>拥有</em>的权限或您<em>需要</em>的权限。</span> <span>当敏感操作被检查许可时构造一个MBeanPermission表示您需要的权限。</span> <span>如果权限您的操作只能<a href="../../javax/management/MBeanPermission.html#implies-java.security.Permission-">imply</a>您需要的许可。</span> </p>
<p> <span>MBeanPermission包含四个信息项</span> </p>
<ul>
<li><p> <span><em>行动</em></span> <span>对于您需要的许可,这是列表<a href="#action-list">below</a>中的一个操作。</span> <span>对于您拥有的许可,这是这些操作的逗号分隔列表,或<code>*</code> ,表示所有操作。</span> </p><p> <span>动作由<a href="../../javax/management/MBeanPermission.html#getActions--"><code>getActions()</code></a>返回。</span> </p></li>
<li><p> <span><em>班级名称</em></span> </p><p> <span>对于您需要的权限这是您正在访问的MBean的类名<a href="../../javax/management/MBeanServer.html#getMBeanInfo-javax.management.ObjectName-"><code>MBeanServer.getMBeanInfo(name)</code></a>返回。</span> <span><a href="../../javax/management/MBeanInfo.html#getClassName--"><code>getClassName()</code></a></span> <span>某些操作不引用类名在这种情况下类名为null。</span> </p><p> <span>对于您拥有的权限,这是空的或<em>类名称模式</em></span> <span>类名称模式是符合点分隔类名称的Java约定的字符串。</span> <span>它可以以“ <code>.*</code> ”结尾,这意味着权限允许访问以“ <code>.*</code> ”之前的字符串开头的任何类。</span> <span>例如,“ <code>javax.management.*</code> ”允许访问<code>javax.management.MBeanServerDelegate</code><code>javax.management.timer.Timer</code>等。</span> </p><p> <span>类名称模式也可以是空的,也可以是单个字符“ <code>*</code> ”,两者都授予对任何类的访问权限。</span> </p></li>
<li><p> <span><em>会员</em></span> </p><p> <span>对于您需要的权限,这是您正在访问的属性或操作的名称。</span> <span>对于不引用属性或操作的操作,成员为空。</span> </p><p> <span>对于您拥有的权限,这是您可以访问的属性或操作的名称,或者是空的或单个字符“ <code>*</code> ”,两者都授予对任何成员的访问权限。</span> </p></li>
<li id="MBeanName"><p> <span><em>对象名称</em></span> </p><p> <span>你需要一个许可,这是<a href="../../javax/management/ObjectName.html" title="javax.management中的类"><code>ObjectName</code></a>您正在访问的MBean的。</span> <span>对于不引用单个MBean的操作它为null。</span> <span>它从来不是一个对象名称模式。</span> </p><p> <span>对于您拥有的许可这是您可以访问的MBean或MBean的<a href="../../javax/management/ObjectName.html" title="javax.management中的类"><code>ObjectName</code></a></span> <span>它可以是一个对象名称模式用于授予对名称与模式匹配的所有MBean的访问权限。</span> <span>它也可能是空的它允许访问所有MBeans无论他们的名字。</span> </p></li>
</ul>
<p> <span>如果您有一个MBeanPermission只有当所有四个项目匹配时才允许操作。</span> </p>
<p> <span>类名,成员和对象名称可以一起写成单个字符串,这是该权限的<em>名称</em></span> <span>权限的名称是由<a href="../../java/security/Permission.html#getName--"><code>getName()</code></a>返回的字符串。</span> <span>字符串的格式是:</span> </p>
<blockquote>
<span><code>className#member[objectName]</code></span>
</blockquote>
<p> <span>对象名称使用<a href="../../javax/management/ObjectName.html" title="javax.management中的类"><code>ObjectName</code></a>的通常语法<a href="../../javax/management/ObjectName.html" title="javax.management中的类">编写</a></span> <span>它可能包含任何合法字符,包括<code>]</code></span> <span>它是由一个终止<code>]</code>字符是字符串中的最后一个字符。</span> </p>
<p> <span>一个或多个所述的<code>className</code> <code>member</code> ,或<code>objectName</code>可以省略。</span> <span>如果<code>member</code>被省略, <code>#</code>可能太(但不是必须的)。</span> <span>如果省略<code>objectName</code> ,那么<code>[]</code>可能也是(但不一定要)。</span> <span>省略所有三个项目是不合法的,即一个<em>名称</em>是空字符串。</span> </p>
<p> <span>一个或多个所述的<code>className</code> <code>member</code> ,或<code>objectName</code>可以是字符“ <code>-</code> ”,其等同于一个空值。</span> <span>任何值(包括另一个空值)都暗示空值,但不表示任何其他值。</span> </p>
<p> <span><a name="action-list">The possible actions are these:</a></span> </p>
<ul>
<li> <span>addNotificationListener</span> </li>
<li> <span>getAttribute</span> </li>
<li> <span>getClassLoader</span> </li>
<li> <span>getClassLoaderFor</span> </li>
<li> <span>getClassLoaderRepository</span> </li>
<li> <span>getDomains</span> </li>
<li> <span>getMBeanInfo</span> </li>
<li> <span>getObjectInstance</span> </li>
<li> <span>实例化</span> </li>
<li> <span>调用</span> </li>
<li> <span>isInstanceOf</span> </li>
<li> <span>queryMBeans</span> </li>
<li> <span>queryNames</span> </li>
<li> <span>registerMBean</span> </li>
<li> <span>removeNotificationListener</span> </li>
<li> <span>setAttribute</span> </li>
<li> <span>取消注册MBean</span> </li>
</ul>
<p> <span>在逗号分隔的动作列表中,每个动作之前和之后都允许使用空格。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../serialized-form.html#javax.management.MBeanPermission">Serialized Form</a>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../javax/management/MBeanPermission.html#MBeanPermission-java.lang.String-java.lang.String-">MBeanPermission</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> name, <a href="../../java/lang/String.html" title="class in java.lang">String</a> actions)</code>
<div class="block">
使用指定的目标名称和操作创建一个新的MBeanPermission对象。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../javax/management/MBeanPermission.html#MBeanPermission-java.lang.String-java.lang.String-javax.management.ObjectName-java.lang.String-">MBeanPermission</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> className, <a href="../../java/lang/String.html" title="class in java.lang">String</a> member, <a href="../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a> objectName, <a href="../../java/lang/String.html" title="class in java.lang">String</a> actions)</code>
<div class="block">
使用指定的目标名称类名成员对象名称和操作创建一个新的MBeanPermission对象。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/management/MBeanPermission.html#equals-java.lang.Object-">equals</a></span>(<a href="../../java/lang/Object.html" title="class in java.lang">Object</a> obj)</code>
<div class="block">
检查两个MBeanPermission对象是否相等。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/management/MBeanPermission.html#getActions--">getActions</a></span>()</code>
<div class="block">
返回动作的“规范字符串表示”。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/management/MBeanPermission.html#hashCode--">hashCode</a></span>()</code>
<div class="block">
返回此对象的哈希码值。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/management/MBeanPermission.html#implies-java.security.Permission-">implies</a></span>(<a href="../../java/security/Permission.html" title="class in java.security">Permission</a> p)</code>
<div class="block">
检查这个MBeanPermission对象是否“暗示”指定的权限。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.security.Permission">
<!-- --> </a> <h3>Methods inherited from class java.security.<a href="../../java/security/Permission.html" title="class in java.security">Permission</a></h3> <code><a href="../../java/security/Permission.html#checkGuard-java.lang.Object-">checkGuard</a>, <a href="../../java/security/Permission.html#getName--">getName</a>, <a href="../../java/security/Permission.html#newPermissionCollection--">newPermissionCollection</a>, <a href="../../java/security/Permission.html#toString--">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../java/lang/Object.html#clone--">clone</a>, <a href="../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../java/lang/Object.html#notify--">notify</a>, <a href="../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../java/lang/Object.html#wait--">wait</a>, <a href="../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="MBeanPermission-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>MBeanPermission</h4> <pre>public MBeanPermission(<a href="../../java/lang/String.html" title="class in java.lang">String</a> name,
<a href="../../java/lang/String.html" title="class in java.lang">String</a> actions)</pre>
<div class="block">
<p> <span>使用指定的目标名称和操作创建一个新的MBeanPermission对象。</span> </p>
<p> <span>目标名称的格式为“ <code>className#member[objectName]</code> ”,其中每个部分都是可选的。</span> <span>它不能为空或为空。</span> </p>
<p> <span>actions参数包含在目标名称上授予的所需操作的逗号分隔列表。</span> <span>它不能为空或为空。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 三元组“classNamemember [objectName]”。
</dd>
<dd>
<code>actions</code> - 动作字符串。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>name</code>
<code>actions</code>无效。
</dd>
</dl> </li>
</ul> <a name="MBeanPermission-java.lang.String-java.lang.String-javax.management.ObjectName-java.lang.String-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>MBeanPermission</h4> <pre>public MBeanPermission(<a href="../../java/lang/String.html" title="class in java.lang">String</a> className,
<a href="../../java/lang/String.html" title="class in java.lang">String</a> member,
<a href="../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a> objectName,
<a href="../../java/lang/String.html" title="class in java.lang">String</a> actions)</pre>
<div class="block">
<p> <span>使用指定的目标名称类名成员对象名称和操作创建一个新的MBeanPermission对象。</span> </p>
<p> <span>类名,成员和对象名称参数定义“ <code>className#member[objectName]</code> ”表单的目标名称,其中每个部分都是可选的。</span> <span>这将是结果<a href="../../java/security/Permission.html#getName--">MBeanPermission</a>上的<code>Permission.getName()</code>的结果。</span> </p>
<p> <span>actions参数包含在目标名称上授予的所需操作的逗号分隔列表。</span> <span>它不能为空或为空。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>className</code> - 此权限适用的类名称。</span>
<span>可以为null或<code>"-"</code> ,它表示任何类名称隐含但不暗示任何其他类名的类名。</span>
</dd>
<dd>
<span><code>member</code> - 此权限适用的成员。</span>
<span>可以是null或<code>"-"</code> ,它代表任何成员暗示但不暗示任何其他成员的成员。</span>
</dd>
<dd>
<span><code>objectName</code> - 此权限适用的对象名称。</span>
<span>可能为null表示任何对象名称隐含但不暗示任何其他对象名称的对象名称。</span>
</dd>
<dd>
<code>actions</code> - 动作字符串。
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getActions--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getActions</h4> <pre>public <a href="../../java/lang/String.html" title="class in java.lang">String</a> getActions()</pre>
<div class="block">
<span>返回动作的“规范字符串表示”。</span>
<span>也就是说,此方法总是按字母顺序返回当前操作。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../java/security/Permission.html#getActions--">getActions</a></code>
<code><a href="../../java/security/Permission.html" title="class in java.security">Permission</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
规范字符串表示的动作。
</dd>
</dl> </li>
</ul> <a name="hashCode--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>hashCode</h4> <pre>public int hashCode()</pre>
<div class="block">
返回此对象的哈希码值。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../java/security/Permission.html#hashCode--">hashCode</a></code>
<code><a href="../../java/security/Permission.html" title="class in java.security">Permission</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
该对象的哈希码值。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../java/lang/Object.html#equals-java.lang.Object-"><code>Object.equals(java.lang.Object)</code></a>
<a href="../../java/lang/System.html#identityHashCode-java.lang.Object-"><code>System.identityHashCode(java.lang.Object)</code></a>
</dd>
</dl> </li>
</ul> <a name="implies-java.security.Permission-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>implies</h4> <pre>public boolean implies(<a href="../../java/security/Permission.html" title="class in java.security">Permission</a> p)</pre>
<div class="block">
<p> <span>检查这个MBeanPermission对象是否“暗示”指定的权限。</span> </p>
<p> <span>更具体地说这个方法返回true</span> </p>
<ul>
<li> <span><i>p</i>是MBeanPermission的一个实例;</span> <span></span> </li>
<li> <span><i>p</i>具有null className或<i>p</i>的className与此对象的className匹配;</span> <span></span> </li>
<li> <span><i>p</i>具有null成员或<i>p</i>的成员匹配此对象的成员;</span> <span></span> </li>
<li> <span><i>p</i>具有空对象名称或<i>p</i>的对象名称与此对象的对象名称相匹配;</span> <span></span> </li>
<li> <span><i>p</i>的动作是这个对象的动作的一个子集</span> </li>
</ul>
<p> <span>如果此对象的className为“ <code>*</code> ”, <i>p</i>的className始终与之匹配。</span> <span>如果是“ <code>a.*</code> ”, <i>p</i>的className与“ <code>a.</code> ”开头匹配。</span> </p>
<p> <span>如果此对象的成员是“ <code>*</code> ”, <i>p</i>的成员始终匹配它。</span> </p>
<p> <span>如果此对象的objectName <i>n1</i>是对象名称模式,则<i>p</i>的objectName <i>n2</i><code><i>n1</i>.equals(<i>n2</i>)</code>匹配,如果<a href="../../javax/management/ObjectName.html#equals-java.lang.Object-"></a> <a href="../../javax/management/ObjectName.html#apply-javax.management.ObjectName-"><code><i>n1</i>.apply(<i>n2</i>)</code></a></span> </p>
<p> <span>包括<code>queryMBeans</code>操作的权限也被认为包括<code>queryNames</code></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../java/security/Permission.html#implies-java.security.Permission-">implies</a></code>
<code><a href="../../java/security/Permission.html" title="class in java.security">Permission</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>p</code> - 允许检查。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果此对象隐含指定的权限则为true否则为false。
</dd>
</dl> </li>
</ul> <a name="equals-java.lang.Object-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>equals</h4> <pre>public boolean equals(<a href="../../java/lang/Object.html" title="class in java.lang">Object</a> obj)</pre>
<div class="block">
<span>检查两个MBeanPermission对象是否相等。</span>
<span>检查<i>obj</i>是否为MBeanPermission并具有与此对象相同的名称和操作。</span>
<p></p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../java/security/Permission.html#equals-java.lang.Object-">equals</a></code>在类别
<code><a href="../../java/security/Permission.html" title="class in java.security">Permission</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>obj</code> - 我们正在测试与此对象相等的对象。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果obj是MBeanPermission则为true并具有与此MBeanPermission对象相同的名称和操作。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../java/lang/Object.html#hashCode--"><code>Object.hashCode()</code></a> <a href="../../java/util/HashMap.html" title="java.util中的类"><code>HashMap</code></a></span>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>