1700484070
//传递两个规格书进行and操作
1700484071
1700484072
private IUserSpecification left;
1700484073
1700484074
private IUserSpecification right;
1700484075
1700484076
public AndSpecification(IUserSpecification_left,IUserSpecification_right){
1700484077
1700484078
this.left=_left;
1700484079
1700484080
this.right=_right;
1700484081
1700484082
}
1700484083
1700484084
//进行and运算
1700484085
1700484086
@Override
1700484087
1700484088
public boolean isSatisfiedBy(User user){
1700484089
1700484090
return left.isSatisfiedBy(user)&& right.isSatisfiedBy(user);
1700484091
1700484092
}
1700484093
1700484094
}
1700484095
1700484096
通过构造函数传递过来两个需要操作的规格书,然后通过isSatisfiedBy方法返回两者and操作的结果。或规格书和非规格书与此类似,分别如代码清单37-18、37-19所示。
1700484097
1700484098
代码清单37-18 或规格书
1700484099
1700484100
public class OrSpecification extends CompositeSpecification{
1700484101
1700484102
//左右两个规格书
1700484103
1700484104
private IUserSpecification left;
1700484105
1700484106
private IUserSpecification right;
1700484107
1700484108
public OrSpecification(IUserSpecification_left,IUserSpecification_right){
1700484109
1700484110
this.left=_left;
1700484111
1700484112
this.right=_right;
1700484113
1700484114
}
1700484115
1700484116
//or运算
1700484117
1700484118
@Override
1700484119
[
上一页 ]
[ :1.70048407e+09 ]
[
下一页 ]