Revision 44885 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/AbstractBinaryOperator.java

View differences:

AbstractBinaryOperator.java
1 1
package org.gvsig.expressionevaluator.impl.function.operator;
2 2

  
3
import java.util.Date;
4 3
import org.apache.commons.lang3.Range;
5 4
import org.gvsig.expressionevaluator.Interpreter;
6 5
import org.gvsig.expressionevaluator.spi.AbstractFunction;
......
27 26
        return true;
28 27
    }
29 28
    
30
    protected static final int TYPE_INT =     0b0000001;
31
    protected static final int TYPE_LONG =    0b0000010;
32
    protected static final int TYPE_FLOAT =   0b0000100;
33
    protected static final int TYPE_DOUBLE =  0b0001000;
34
    protected static final int TYPE_BOOLEAN = 0b0010000;
35
    protected static final int TYPE_STRING =  0b0100000;
36
    protected static final int TYPE_DATE =    0b1000000;
37
    
38
    protected int getType(Object op1, Object op2) {
39
        int r = 0;
40
        if( op1 instanceof Double ) {
41
            r |= TYPE_DOUBLE;
42
        } else if( op1 instanceof Float ) {
43
            r |= TYPE_FLOAT;
44
        } else if( op1 instanceof Long ) {
45
            r |= TYPE_LONG;
46
        } else if( op1 instanceof Integer ) {
47
            r |= TYPE_INT;
48
        } else if( op1 instanceof Boolean ) {
49
            r |= TYPE_BOOLEAN;
50
        } else if( op1 instanceof String ) {
51
            r |= TYPE_STRING;
52
        } else if( op1 instanceof Date ) {
53
            r |= TYPE_DATE;
54
        }
55
        if( op2 instanceof Double ) {
56
            r |= TYPE_DOUBLE;
57
        } else if( op2 instanceof Float ) {
58
            r |= TYPE_FLOAT;
59
        } else if( op2 instanceof Long ) {
60
            r |= TYPE_LONG;
61
        } else if( op2 instanceof Integer ) {
62
            r |= TYPE_INT;
63
        } else if( op2 instanceof Boolean ) {
64
            r |= TYPE_BOOLEAN;
65
        } else if( op2 instanceof String ) {
66
            r |= TYPE_STRING;
67
        } else if( op2 instanceof Date ) {
68
            r |= TYPE_DATE;
69
        }
70
        return r;
71
    }
72
    
73 29
}

Also available in: Unified diff