Revision 44191 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/function/operator/AddOperator.java
AddOperator.java | ||
---|---|---|
1 | 1 |
package org.gvsig.expressionevaluator.impl.function.operator; |
2 | 2 |
|
3 |
import java.util.Objects; |
|
3 | 4 |
import org.gvsig.expressionevaluator.Code; |
4 | 5 |
import org.gvsig.expressionevaluator.Code.Caller; |
5 | 6 |
import org.gvsig.expressionevaluator.Code.Constant; |
7 |
import org.gvsig.expressionevaluator.ExpressionRuntimeException; |
|
6 | 8 |
import org.gvsig.expressionevaluator.Function; |
7 | 9 |
import org.gvsig.expressionevaluator.Interpreter; |
8 | 10 |
import org.gvsig.expressionevaluator.Optimizer; |
9 | 11 |
import org.gvsig.expressionevaluator.Optimizer.FunctionOptimizer; |
12 |
import org.gvsig.expressionevaluator.impl.I18N; |
|
10 | 13 |
|
11 | 14 |
public class AddOperator |
12 | 15 |
extends AbstractBinaryOperator |
... | ... | |
43 | 46 |
int value = ((Number) op1).intValue()+ ((Number) op2).intValue(); |
44 | 47 |
return value; |
45 | 48 |
} |
49 |
if( (type & TYPE_STRING) == TYPE_STRING ) { |
|
50 |
if( interpreter.isSQLCompatible() ) { |
|
51 |
throw new ExpressionRuntimeException( |
|
52 |
null, |
|
53 |
"The '"+name()+"' operator can not be used with string operands", |
|
54 |
I18N.Use_the_operator_CONCAT_to_concatenate_strings() |
|
55 |
); |
|
56 |
} |
|
57 |
return Objects.toString(op1, "")+Objects.toString(op2, ""); |
|
58 |
} |
|
46 | 59 |
throw new IllegalArgumentException("Types not allowed in '"+name()+"' operand."); |
47 | 60 |
} |
48 | 61 |
|
Also available in: Unified diff