WEB开发网
开发学院软件开发Java 使用 AIDE 实现高效率,第 2 部分: 构建实际接触点... 阅读

使用 AIDE 实现高效率,第 2 部分: 构建实际接触点

 2010-04-06 00:00:00 来源:WEB开发网   
核心提示: 清单 1 中的代码来自 WeatherStation 项目,调用此方法时,使用 AIDE 实现高效率,第 2 部分: 构建实际接触点(4),新的 temperature 值将作为参数传递,而旧的 temperature 将被保存,如果您稍后决定向给定参数添加观测器,这个功能将非常有用,代码还将进

清单 1 中的代码来自 WeatherStation 项目。调用此方法时,新的 temperature 值将作为参数传递,而旧的 temperature 将被保存,代码还将进行检查,确定是否有任何观测器在侦听此对象。

清单 1. 发出通知的方法

public void setTemperature(double newTemperature) 
{ 
  double oldTemperature = temperature; 
  temperature = newTemperature; 
  if (eNotificationRequired()) 
     eNotify(new ENotificationImpl(this, 
     Notification.SET, 
     ComPackage.WEATHER_STATION__TEMPERATURE, 
     oldTemperature, temperature)); 
} 

Eclipse Modeling Framework (EMF) 为 EObject 类提供了通知机制。每个 EObject 类(或子类)都可以维护观测器(也称为适配器)列表,只要出现相关状态更改,就会立即通知这些观测器。框架的 eNotify() 方法将遍历此列表,并向观测器转发通知。正如您在清单 1 中所看到的,参数 ComPackage.WEATHER_STATION__TEMPERATURE 是通知的主题。

联机帮助详细说明了如何操作 WeatherStation 项目,您还可以在 GUI 中查看通知效果。具体来说,此接触点会将响应中的操作状态修改为所通知的温度更改。

对于 EMF 对象未与观测器一起使用的情况,对 eNotificationRequired() 的调用(请参见清单 1)将只返回一个无害的有效空指针检查,此检查是在使用 Just-in-Time (JIT) 编译器时进行内联的。如果您稍后决定向给定参数添加观测器,这个功能将非常有用。

本教程稍后将介绍其他框架(特别是 JMX)生成通知的方式。

将接触点连接到外部 Java 代码

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:使用 AIDE 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接