打字猴:1.700481229e+09
1700481229 ❑通过JNI(Java Native Interface)来调用与操作系统有关的动态链接库,当然前提是需要自己写一个动态链接库文件。
1700481230
1700481231 3个具体的命令都已经解析完毕,我们再来看看如何建立一条处理链,由于建链的任务已经移植到抽象命令类,我们就先来看抽象类Command,如代码清单34-7所示。
1700481232
1700481233 代码清单34-7 抽象命令
1700481234
1700481235 public abstract class Command{
1700481236
1700481237 public abstract String execute(CommandVO vo);
1700481238
1700481239 //建立链表
1700481240
1700481241 protected final List<?extends CommandName>buildChain(Class<?extends
1700481242
1700481243 CommandName>abstractClass){
1700481244
1700481245 //取出所有的命令名下的子类
1700481246
1700481247 List<Class>classes=ClassUtils.getSonClass(abstractClass);
1700481248
1700481249 //存放命令的实例,并建立链表关系
1700481250
1700481251 List<CommandName>commandNameList=new ArrayList<CommandName>();
1700481252
1700481253 for(Class c:classes){
1700481254
1700481255 CommandName commandName=null;
1700481256
1700481257 try{
1700481258
1700481259 //产生实例
1700481260
1700481261 commandName=(CommandName)Class.forName(c.getName())
1700481262
1700481263 .newInstance();
1700481264
1700481265 }catch(Exception e){
1700481266
1700481267 //TODO异常处理
1700481268
1700481269 }
1700481270
1700481271 //建立链表
1700481272
1700481273 if(commandNameList.size()>0){
1700481274
1700481275 commandNameList.get(commandNameList.size()-
1700481276
1700481277 1).setNext(commandName);
1700481278
[ 上一页 ]  [ :1.700481229e+09 ]  [ 下一页 ]