Revision 22512 trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/OrOperator.java
OrOperator.java | ||
---|---|---|
49 | 49 |
|
50 | 50 |
/** |
51 | 51 |
* Implements the funcionality of the Or operator |
52 |
*
|
|
52 |
* |
|
53 | 53 |
* @author Pepe Vidal Salvador - jose.vidal.salvador@iver.es |
54 | 54 |
* |
55 | 55 |
*/ |
56 |
public class OrOperator implements Expression {
|
|
56 |
public class OrOperator extends Operator {
|
|
57 | 57 |
|
58 |
|
|
59 |
|
|
58 | 60 |
private ArrayList<Expression> arguments = new ArrayList<Expression>(); |
59 | 61 |
|
60 | 62 |
public String getName() { |
61 | 63 |
return OperationTags.OR_OP; |
62 | 64 |
} |
63 | 65 |
|
64 |
public Object evaluate(Hashtable<String, Value> symbol_table) throws ExpressionException{ |
|
66 |
public OrOperator(Hashtable<String, Value> symbol_table) { |
|
67 |
super(symbol_table); |
|
68 |
} |
|
65 | 69 |
|
70 |
public Object evaluate() throws ExpressionException{ |
|
71 |
|
|
66 | 72 |
boolean result = false; |
67 | 73 |
|
68 | 74 |
for (int i = 0; i < arguments.size(); i++){ |
69 | 75 |
Expression function = (Expression)arguments.get(i); |
70 |
result = result || ((Boolean)((Expression)function).evaluate(symbol_table)).booleanValue();
|
|
76 |
result = result || ((Boolean)((Expression)function).evaluate()).booleanValue(); |
|
71 | 77 |
} |
72 | 78 |
return result; |
73 | 79 |
} |
... | ... | |
83 | 89 |
|
84 | 90 |
public String getPattern() { |
85 | 91 |
return "("+Messages.getString(OperationTags.OPERAND) |
86 |
+ OperationTags.OR_OP +Messages.getString(OperationTags.OPERAND)+ ")\n"+
|
|
92 |
+ OperationTags.OR_OP +Messages.getString(OperationTags.OPERAND)+ ")\n"+ |
|
87 | 93 |
Messages.getString(OperationTags.OPERAND) +" = "+ |
88 |
Messages.getString(OperationTags.BOOLEAN_VALUE);
|
|
94 |
Messages.getString(OperationTags.BOOLEAN_VALUE); |
|
89 | 95 |
} |
90 | 96 |
public ArrayList<Expression> getArguments() { |
91 | 97 |
return arguments; |
... | ... | |
95 | 101 |
this.arguments = arguments; |
96 | 102 |
} |
97 | 103 |
|
98 |
public void check(Hashtable<String, Value> symbol_table) throws ExpressionException {
|
|
99 |
|
|
104 |
public void check() throws ExpressionException { |
|
105 |
|
|
100 | 106 |
for (int i = 0; i < arguments.size(); i++) { |
101 |
if(!(arguments.get(i).evaluate(symbol_table)instanceof Boolean))
|
|
102 |
throw new ExpressionException(ExpressionException.CLASS_CASTING_EXCEPTION);
|
|
107 |
if(!(arguments.get(i).evaluate()instanceof Boolean)) |
|
108 |
throw new ExpressionException(ExpressionException.CLASS_CASTING_EXCEPTION); |
|
103 | 109 |
} |
104 | 110 |
} |
111 |
|
|
105 | 112 |
} |
Also available in: Unified diff