⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第三章 条目对象.htm

📁 分多章节详细介绍了Jini技术及相关开发环境
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>第三章 条目对象</strong></big></p>
<p>      当服务注册本身时,它使用一些属性的集合。每个集合是一个类或类型的实例例如,一个编辑器可以有属性
	  类型FileType: 
<PRE><code>  
    public Class FileType implements Entry {
       public String type;   // this is a MIME type

    public FileType(String type) {
            this.type = type;
    }
  }
    
</code></PRE>
对于文本编辑器,属性设为FileType("plain/text");对于RTF编辑器,属性设为FileType("application/rtf")。
(当然,在类中可以有多个域)。 
      一些服务可以处理多个属性。例如,大部分字处理器能处理多种文档类型。在这种情况下,一个服务可以注册
	  一个属性数组。  
<PRE><code>
	        Entry[] entries = new Entry[] {new FileType("plain/text"),
                         new FileType("application/rtf")
                        };
</code></PRE>
     另一方面,一个客户希望找到能处理它要求属性的服务。因此客户同样使用Entry,对于任何特定的Entry类,
	 客户指定:
	
 	<P> 1、 哪个字段必须真正地匹配(非空值)
    <P> 2、 哪个字段不用关心(可以是空)
<P> 这是很粗略的。典型的,一个打印机有每分钟打印多少页的性能。如果指定该属性,那么很难找到打印服务。一个要求打
 印服务的客户不并关心速度或某个特定速度。它不能要求打印速度大于某个值。一个属性必须精确匹配或简单地被忽略掉。

    <P> 1、 Entry的限制性<BR> Entries通过RMI传递。输出服务对象被序列化后,通过RMI传递,在某个远程客户端还原成对象。Entries同样
	被序列化,
	通过RMI传递,但是不被还原(reconstituted)。所以当比较一个来自服务的Entry和一个来自客户要求的Entry时,
	它们是以序列化的形式比较的。 
     一个entry不能有原始类型例如int或char。如果要求这些类型,则必须包装成类例如Integer或Caracter。一个
	 entry必须是公共属性,而且不能是static和final类型。
	  <P> 2、辅助类 <BR>
       类AbstractEntry是Entry子类,它是一个辅助类。它实现例如equals()和toString()的方法。
	   另外,sun公司还提供了一些辅助类,它们都是entry的子类:
<pre><code>
   Address    ---  服务物理部件的地址
   Comment    ---  过于服务的自由格式说明
   Location   ---  服务物理部件的位置。它和Address的不同之处是它能单独地用在小的局部组织中。
   Name       ---  用户使用的服务名,一个服务可以有多个名字。
   ServiceInfo---  服务的普通信息,包括制造商、产品、卖主的名字。
   ServiceType---  服务类型面向人类的信息。这和它的数据或类的类型没有关系,更多的面向允许人
                   决定该服务能做什么,它和什么类似,不需要知道关于Java平台的类类型和数据。
   Status     ---  那些和状态有关的entry类必须继承的基类。
例如,Address类包含:
   String country;
   String locality;             // City or locality name.
   String organization;         // Name of the company or organization that
                                        provides this service.
   String organizationalUnit;   // The unit within the organization that provides this service.
   String postalCode;           // Postal code. 邮政编码
   String stateOrProvince;     // Full name or standard postal abbreviation of 
                                  a state or province.
   String street;             //Street address.
</code></pre>

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -