NonIdOperatorDecoder.java
- package de.turnertech.ows.filter;
- import java.util.Arrays;
- import java.util.List;
- import javax.xml.stream.XMLStreamException;
- import javax.xml.stream.XMLStreamReader;
- import de.turnertech.ows.common.OwsContext;
- /**
- * Delegating Decoder
- */
- public class NonIdOperatorDecoder {
-
- private NonIdOperatorDecoder() {
-
- }
- // TODO: Move to Filter?
- public static List<String> COMPARISON_OPERATORS = Arrays.asList("PropertyIsEqualTo", "PropertyIsNotEqualTo", "PropertyIsLessThan", "PropertyIsGreaterThan", "PropertyIsLessThanOrEqualTo", "PropertyIsGreaterThanOrEqualTo", "PropertyIsLike", "PropertyIsNull", "PropertyIsNil", "PropertyIsBetween");
- // TODO: Move to Filter?
- public static List<String> LOGICAL_OPERATORS = Arrays.asList("And", "Or", "Not");
- public static boolean canDecode(final XMLStreamReader in) {
- return BinarySpatialOperatorDecoder.canDecode(in);
- }
- public static NonIdOperator decode(final XMLStreamReader in, final OwsContext owsContext) throws XMLStreamException {
- NonIdOperator returnOperator = null;
- if(COMPARISON_OPERATORS.contains(in.getLocalName())) {
- returnOperator = ComparisonOperatorDecoder.decode(in, owsContext);
- } else if(LOGICAL_OPERATORS.contains(in.getLocalName())) {
- returnOperator = LogicalOperatorDecoder.decode(in, owsContext);
- } else if(SpatialOperatorDecoder.canDecode(in)) {
- returnOperator = SpatialOperatorDecoder.decode(in, owsContext);
- }
- return returnOperator;
- }
- }