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
补充:
有未说明清楚的问题,欢迎尾随追贴。~,=