Java Reference
In-Depth Information
Example A.54 CompoundExpression.java
1. public abstract class CompoundExpression implements Expression{
2. protected ComparisonExpression expressionA;
3. protected ComparisonExpression expressionB;
4.
5. public CompoundExpression(ComparisonExpression expressionA, ComparisonExpression
expressionB){
6. this.expressionA = expressionA;
7. this.expressionB = expressionB;
8. }
9. }
Example A.55 AndExpression.java
1. public class AndExpression extends CompoundExpression{
2. public AndExpression(ComparisonExpression expressionA, ComparisonExpression expressionB){
3. super(expressionA, expressionB);
4. }
5.
6. public void interpret(Context c){
7. expressionA.interpret(c);
8. expressionB.interpret(c);
9. Boolean result = new Boolean(((Boolean)c.get(expressionA)).booleanValue()
&& ((Boolean)c.get(expressionB)).booleanValue());
10. c.addVariable(this, result);
11. }
12. }
Example A.56 OrExpression.java
1. public class OrExpression extends CompoundExpression{
2. public OrExpression(ComparisonExpression expressionA, ComparisonExpression expressionB){
3. super(expressionA, expressionB);
4. }
5.
6. public void interpret(Context c){
7. expressionA.interpret(c);
8. expressionB.interpret(c);
9. Boolean result = new Boolean(((Boolean)c.get(expressionA)).booleanValue() ||
((Boolean)c.get(expressionB)).booleanValue());
10. c.addVariable(this, result);
11. }
12. }
Example A.57 ComparisonExpression.java
1. public abstract class ComparisonExpression implements Expression{
2. protected Expression expressionA;
3. protected Expression expressionB;
4.
5. public ComparisonExpression(Expression expressionA, Expression expressionB){
6. this.expressionA = expressionA;
7. this.expressionB = expressionB;
8. }
9. }
Example A.58 EqualsExpression.java
1. public class EqualsExpression extends ComparisonExpression{
2. public EqualsExpression(Expression expressionA, Expression expressionB){
3. super(expressionA, expressionB);
4. }
5.
6. public void interpret(Context c){
7. expressionA.interpret(c);
8. expressionB.interpret(c);
9. Boolean result = new Boolean(c.get(expressionA).equals(c.get( expressionB)));
10. c.addVariable(this, result);
11. }
12. }
Example A.59 ContainsExpression.java
1. public class ContainsExpression extends ComparisonExpression{
2. public ContainsExpression(Expression expressionA, Expression expressionB){
3. super(expressionA, expressionB);
4. }
5.
6. public void interpret(Context c){
Search WWH ::




Custom Search