1700484309
return new OrSpecification(this,spec);
1700484310
1700484311
}
1700484312
1700484313
}
1700484314
1700484315
与或非规格书代码分别如代码清单37-24、37-25、37-26所示。
1700484316
1700484317
代码清单37-24 与规格书
1700484318
1700484319
public class AndSpecification extends CompositeSpecification{
1700484320
1700484321
//传递两个规格书进行and操作
1700484322
1700484323
private ISpecification left;
1700484324
1700484325
private ISpecification right;
1700484326
1700484327
public AndSpecification(ISpecification_left,ISpecification_right){
1700484328
1700484329
this.left=_left;
1700484330
1700484331
this.right=_right;
1700484332
1700484333
}
1700484334
1700484335
//进行and运算
1700484336
1700484337
@Override
1700484338
1700484339
public boolean isSatisfiedBy(Object candidate){
1700484340
1700484341
return left.isSatisfiedBy(candidate)&& right.isSatisfiedBy(candidate);
1700484342
1700484343
}
1700484344
1700484345
}
1700484346
1700484347
代码清单37-25 或规格书
1700484348
1700484349
public class OrSpecification extends CompositeSpecification{
1700484350
1700484351
//左右两个规格书
1700484352
1700484353
private ISpecification left;
1700484354
1700484355
private ISpecification right;
1700484356
1700484357
public OrSpecification(ISpecification_left,ISpecification_right){
1700484358
[
上一页 ]
[ :1.700484309e+09 ]
[
下一页 ]