??xml version="1.0" encoding="utf-8" standalone="yes"?>
2
3 private String name;
4 //
5 private Set<OrderLine> orderLines = new HashSet<OrderLine>();
6
7 public String getName() {
8 return name;
9 }
10
11 public void setName(String name) {
12 this.name = name;
13 }
14
15 /**
16 * 因ؓq是一个domain对象Q诏I你整个目Q不知你是否在意q这L设计?br />17 * q样的设计对你是否有用呢Q?br />18 * 用户Q表CAPI调用者?nbsp;
19 */
20
21 public Set<OrderLine> getOrderLines() {
22 /*
23 * 1.防止用户L修改订单行的内容Q强制要求用户用当前类提供的API修改订单?br />24 * 2.getOrderLines()l对不ؓnullQ有可能getOrderLines().isEmpty()为true
25 * 用在你的E序中不会出现if(getOrderLines() == null && getOrderLines().isEmpty())Q?br />26 * 只会出现if(getOrderLines().isEmpty())
27 */
28 return Collections.unmodifiableSet(orderLines);
29 }
30
31 //-----------------------提供API修改Order by OrderLine----------------------------//
32 public void addOrderLine(OrderLine orderLine) {
33 //
34 orderLines.add(orderLine);
35 }
36
37 public void removeOrderLine(OrderLine orderLine) {
38 //
39 }
40 //-----------------------提供API修改Order by OrderLine----------------------------//
41
42 public void setOrderLines(Set<OrderLine> orderLines) {
43 // this.orderLines = orderLines;
44 // Z么没有向上面来做Q是因ؓ如果是这栯值的话那么两个对象就是同一个引用了?br />45 // 用户修改orderLinesQthis.orderLines也同样会被修攏V?br />46 // 而提供这个类期望用户通过该类提供的接口来修改orderLines?/span>
47 orderLines.addAll(orderLines);
48 }
49
50 }
]]>
无论你在工作中或者在学习中,手上有一个良好易用的帮助文g都会l你带来无限的方ѝ你无需要把什么东襉K记在大脑里面Q你只需要能够熟l的使用各种技术的提供的帮助文档,q样你的工作和学习都会十分轻松?br />在你不明白或困惑的时候你应该阅读官方提供的文档,也许{案在其中?br />
cMjdoc2chm的工L上也有许多,q次作者编写该工具的主要目的是Z支持JDK7所生成的JavadocQJDK7q未正式发布Q同样也是ؓ了迎接JDK7的到来)。JDK7 Oracle官方提供的Javadoc与前面的版本格式都有所改变Q导致前面所有的jdoc2chm工具都不能正?br />的将JDK7的Javadoc转换为CHM?br />
jdoc2chm是免费开源的一个项目。用非常简单?br />首先你要到这里去下蝲jdoc2chm的发布包?br />你可以通过下面的地址获取jdoc2chm的源码?br />
下面赋上JDK7的CHM帮助文档和效果图?strong>下蝲
]]>
vi /pattern filename Q打开文gQƈ光标置于第一个与pattern匚w?br />
vi -r filename Q在上次正用vi~辑时发生系l崩溃,恢复filename
vi filename filename... Q打开多个文gQ依ơ进行编?br />
-----------------------Ud光标命o
h/ backspace Q光标左UM个字W?br />
l/ space Q光标右UM个字W?br />
k/ Ctrl+p Q光标上UM?br />
j/ Ctrl+n/ Enter Q光标下UM?br />
w/ W Q光标右UM个字臛_?br />
b/ B Q光标左UM个字臛_?br />
( Q光标移臛_?br />
) Q光标移臛_?br />
{ Q光标移x落开?br />
} Q光标移x落结?br />
nG Q光标移至第n行首
n+ Q光标下Un?br />
n- Q光标上Un?br />
n$ Q光标移至第n行尾
H Q光标移臛_q中间行
M Q光标移臛_q中间行
L Q光标移臛_q最后行
0(? Q光标移臛_前行?br />
$ Q光标移臛_前行?br />
-----------------------屏幕Lcd?br />
Ctrl+u Q向文g首翻半屏
Ctrl+b Q向文g首翻一?br />
Ctrl+d Q向文g半屏
Ctrl+f Q向文g一?br />
nz Q将Wn行滚臛_q顶部,不指定n时将当前行滚臛_q顶?br />
-----------------------插入文gcd?br />
i Q在光标?br />
I Q在当前行首
a Q光标后
A Q在当前行尾
o Q在当前行之下新开一?br />
O Q在当前行之上新开一?br />
r Q替换当前字W?br />
R Q替换当前字W及其后的字W,直到按ESC?br />
s Q从当前光标位置处开始,以输入的文本替代指定数目的字W?br />
S Q删除指定数目的行,q以所输入文本替换?br />
ncw/ nCW Q修Ҏ定数目的?br />
nCC Q修Ҏ定数目的?br />
-----------------------删除命o
ndw/ ndW Q删除光标处开始及其后的n-1个字
do Q删臌?br />
d$ Q删臌?br />
ndd Q删除当前行及其后n-1?br />
x/ X Q删除一个字W,x删除光标后的Q而X删除光标前的
Ctrl+u Q删除输入方式下所输入的文?br />
-----------------------搜烦及替换命?br />
/pattern Q?从光标开始处向文件尾搜烦pattern
?pattern Q?从光标开始处向文仉搜烦pattern
n Q在同一方向重复上一ơ搜索命?br />
N Q在反方向上重复上一ơ搜索命?br />
Qs/p1/p2/g Q?当前行中所有p1均用p2替代
Qn1,n2s/p1/p2/g Q将Wn1至n2行中所有p1均用p2替代
Qg/p1/s/p2/g Q将文g中所有p1均用p2替换
-----------------------选项讄命o
all Q列出所有选项讄情况
term Q设|终端类?br />
ignorance Q在搜烦中忽略在写
list Q显C制表位(Ctrl+I)和行标?$)
number Q显C?br />
report Q显C由面向行的命o修改q的数目
terse Q显C简短的警告信息
warn Q在转到别的文g时若没有保存当前文g则显Cno write信息
nomagic Q允许在搜烦模式中,使用前面不带“\”的特D字W?br />
nowrapscan Q禁止vi在搜索到达文件两端时Q双从另一端开?br />
mesg Q允许vi昄其它用户用write写到自己l端上的信息
-----------------------其它命o
:n1,n2 co n3 Q将n1行到n2行之间的内容copy到第n3行下
:n1,n2 m n3 Q将n1行到n2行之间的内容U至到第n3行下
:n1,n2 d Q将n1行到n2行之间的内容删除
:w Q保存当前文?br />
:e filename Q打开文gfilenameq行~辑
:x/x! Q退出文?br />
:q/q! : 退出文?br />
:wq! : 保存q?br />
]]>