接口:FieldOpt- ----------com.xxxxx.common.model.itf
public interface FieldOpt{
public void activateField(String field) throws Exception;
public Object getValue(String field) throws Exception;
public void setValue(String field,Object value) throws Exception;
}
实现类:FieldOptSiebelImpl----com.xxxxx.crm.thirdparty.siebel.utils
public class FieldOptSiebelImpl implements FieldOpt{
public static final Logger log = LoggerFactory.getLogger(FieldOptSiebelImpl.class);
private SiebelBusComp busComp;
//set
public void setBusComp(SiebelBusComp busComp){
this.busComp = busComp;
}
//无参 有参
public FieldOptSiebelImpl(){
}
public FieldOptSiebelImpl(SiebelBusComp busComp){
this.busComp = busComp;
}
//重写的方法
@Override
public void activeField(String field){
try{
busComp.activeField(field);
}catch(Exception e){
e.printStackTrace();
}
}
@Override
public void setValue(String field Object value){
try{
if( value instanceof String ){
//这一步在编辑保存的时候经常用到。
log.info(String.format("[%s]==%s",field,value));
//调用BC的设值
try{
busComp.setFieldValue(field,(String)value);
}catch(Exception e){
return log.info(e.getMessage());
}
}else{
throw new Exception("设置的数据类型不对,必须是String类型");
}
}catch(Exception e){
e.printStackTrace();
}
}//方法尾
}//类尾