1700481102
1700481103
public final static String L_PARAM=“l”;
1700481104
1700481105
}
1700481106
1700481107
很惊讶,是吗?怎么是个空的抽象类?是的,确实是一个空类,只定义了3个参数名称,它有两个职责:
1700481108
1700481109
❑标记ls命令族。
1700481110
1700481111
❑个性化处理。
1700481112
1700481113
因为现在还没有思考清楚ls有什么个性(可以把命令的选项也认为是其个性化数据),所以先写个空类放在这里,以后想清楚了再填写上去,留下一些可扩展的类也许会给未来带来不可估量的优点。
1700481114
1700481115
我们再来看ls不带任何参数的命令处理,如代码清单34-3所示。
1700481116
1700481117
代码清单34-3 ls命令
1700481118
1700481119
public class LS extends AbstractLS{
1700481120
1700481121
//最简单的ls命令
1700481122
1700481123
protected String echo(CommandVO vo){
1700481124
1700481125
return FileManager.ls(vo.formatData());
1700481126
1700481127
}
1700481128
1700481129
//参数为空
1700481130
1700481131
protected String getOperateParam(){
1700481132
1700481133
return super.DEFAULT_PARAM;
1700481134
1700481135
}
1700481136
1700481137
}
1700481138
1700481139
太简单了,首先定义了自己能处理什么样的参数,即只能处理不带参数的ls命令,getOperateParam返回一个长度为零的字符串,就是说该类作为链上的一个节点,只处理没有参数的ls命令。echo方法是执行ls命令,通过调用操作系统相关的命令返回结果。我们再来看ls-l命令,如代码清单34-4所示。
1700481140
1700481141
代码清单34-4 ls-l命令
1700481142
1700481143
public class LS_L extends AbstractLS{
1700481144
1700481145
protected String echo(CommandVO vo){
1700481146
1700481147
return FileManager.ls_l(vo.formatData());
1700481148
1700481149
}
1700481150
1700481151
//l选项
[
上一页 ]
[ :1.700481102e+09 ]
[
下一页 ]