svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.geometry / org.gvsig.expressionevaluator.geometry.lib / org.gvsig.expressionevaluator.geometry.lib.impl / src / main / java / org / gvsig / expressionevaluator / impl / function / spatial / AndAndOperator.java @ 44644
History | View | Annotate | Download (1022 Bytes)
1 | 44198 | jjdelcerro | package org.gvsig.expressionevaluator.impl.function.spatial; |
---|---|---|---|
2 | 43512 | jjdelcerro | |
3 | 44207 | jjdelcerro | import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_AND2; |
4 | 44198 | jjdelcerro | import org.gvsig.expressionevaluator.impl.function.operator.*; |
5 | 43521 | jjdelcerro | import org.gvsig.expressionevaluator.Function; |
6 | import org.gvsig.expressionevaluator.Interpreter; |
||
7 | 44198 | jjdelcerro | import org.gvsig.fmap.geom.Geometry; |
8 | import org.gvsig.fmap.geom.GeometryUtils; |
||
9 | 43521 | jjdelcerro | |
10 | 44644 | jjdelcerro | public class AndAndOperator extends AbstractGeometryBinaryOperator { |
11 | 44139 | jjdelcerro | |
12 | 44198 | jjdelcerro | public AndAndOperator() {
|
13 | 44207 | jjdelcerro | super(Function.GROUP_OGC, OPERATOR_AND2, true); |
14 | 43512 | jjdelcerro | } |
15 | |||
16 | @Override
|
||
17 | 44009 | jjdelcerro | public boolean allowConstantFolding() { |
18 | return true; |
||
19 | } |
||
20 | |||
21 | @Override
|
||
22 | 43521 | jjdelcerro | public Object call(Interpreter interpreter, Object op1, Object op2) { |
23 | 44198 | jjdelcerro | if( op1 instanceof Geometry && op2 instanceof Geometry ) { |
24 | boolean value = GeometryUtils.intersects((Geometry)op1,(Geometry) op2);
|
||
25 | 43512 | jjdelcerro | return value;
|
26 | } |
||
27 | throw new IllegalArgumentException("Types not allowed in '"+name()+"' operand."); |
||
28 | } |
||
29 | |||
30 | |||
31 | } |