Zeroc Ice返回值类型对象的实现(三)

2014-11-24 01:39:58 · 作者: · 浏览: 8
Override
public String getbName(Current current) {
return this.bName;
}

@Override
public void setbCode(String bCode, Current current) {
this.bCode = bCode;
}

@Override
public void setbName(String bName, Current current) {
this.bName = bName;
}

}


建好了,怎么告诉装配工呢。ICE的装配工,会看已有的图纸,也会手机上网去ObjectFactory试着查还没装到自己包里的图纸。那我们就把装配图传到ObjectFactory上去吧!

(i)创建一个ObjectFactory规范下的装配图

Java代码
/*
* file: ObjectFactory4Bond.java
*/
package com.number.bond;

import Ice.Object;
import Ice.ObjectFactory;

/**
* 传值方式,必须实现一个自定义类工厂。
* @author zhnb
*
*/
public class ObjectFactory4Bond implements ObjectFactory {

@Override
public Object create(String type) {
System.out.println("!!>type=" + type);
if (type.equals(com.number.bond.BondI.ice_staticId())) {
return new BondI();
}
return null;
}

@Override
public void destroy() {
// TODO Auto-generated method stub

}

}


(ii)拿到这箱Bond前,把装配图传到ObjectFactory上去。

定位: 正文 | 一、ICE方法返回对象的实现 | 2,具体实现。| D)编写客户方
找到:“MainOperatorClient.java”第34~38行,把注释部分放出来。

注释掉的这两行代码,将装配图“BondI”放到ObjectFactory上去。以备装配工查看。

(iii)再次运行,通过。显示如下

Java代码
!!>type=::com::number::bean::Bond
Bond@12830537:bName=青岛啤酒,bCode=600006:bName=青岛啤酒,bCode=600006


四、资源信息

你可以在code google上下载到此demo的源代码,只需热身一下你的SVN。

Java代码
svn checkout http://number-icedemo-base.googlecode.com/svn/trunk/ number-icedemo-base-read-only


补充:

有未说明清楚的问题,欢迎尾随追贴。~,=