/**
* Copyright (c) Codice Foundation
* <p>
* This is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser
* General Public License as published by the Free Software Foundation, either version 3 of the
* License, or any later version.
* <p>
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details. A copy of the GNU Lesser General Public License
* is distributed along with this program and can be found at
* <http://www.gnu.org/licenses/lgpl.html>.
*/
package ddf.catalog.filter;
import java.util.Date;
import java.util.List;
/***
* FilterDelegate is the target delegate of the {@link FilterAdapter}. The FilterAdapter will visit
* a {@link org.opengis.filter.Filter} and call the corresponding delegate methods after type conversion and input
* normalization.
* <p>
* Not all org.opengis.filter.Filter and {@link org.opengis.filter.expression.Expression} types are supported by the delegate. FilterAdapter and
* FilterDelegate would need to be extended to support other org.opengis.filter.Filter and org.opengis.filter.expression.Expression types.
* Alternatively, other types could be supported by implementing the {@link org.opengis.filter.FilterVisitor} directly.
* <p>
* A reference implementation is provided with the DDF Core in the org.opengis.filter.Filter Proxy bundle.
*
* @param <T> Generic type that the FilterDelegate will return as a final result
* @author ddf.isgs@lmco.com
* @see FilterAdapter
*/
public abstract class FilterDelegate<T> {
/**
* Normalized wildcard character used to match zero or more characters.
*/
public static final String WILDCARD_CHAR = "*";
/**
* Normalized single wildcard character used to match exactly one character
*/
public static final String SINGLE_CHAR = "?";
/**
* Normalized escape character used to escape the meaning of the wildCard, singleChar, and the
* escapeChar itself
*/
public static final String ESCAPE_CHAR = "\\";
// Logical operators
/**
* Logical "and" operation on a list of operands.
*
* @param operands list of operands to "and"
* @return result of "and" operation on operands
*/
public T and(List<T> operands) {
throw new UnsupportedOperationException(
"And filter not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Logical "or" operation on a list of operands.
*
* @param operands list of T to "or"
* @return result of "or" operation on operands
*/
public T or(List<T> operands) {
throw new UnsupportedOperationException(
"Or filter not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Returns a sorted list of the nearest neighbors to a property for a given WKT.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @return result of nearest neighbor spatial operation
*/
public T nearestNeighbor(String propertyName, String wkt) {
throw new UnsupportedOperationException(
"Nearest neighbor filter not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Logical "not" operation on an operand.
*
* @param operand operand to negate
* @return result of "not" operation on operand
*/
public T not(T operand) {
throw new UnsupportedOperationException(
"Not filter not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Include filter is equivalent to no filtering or logically {@code true}.
*
* @return returns the equivalent of true
*/
public T include() {
throw new UnsupportedOperationException(
"include() not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Include filter is equivalent to filter all or logically {@code false}.
*
* @return returns the equivalent of false
*/
public T exclude() {
throw new UnsupportedOperationException(
"exclude() not supported by org.opengis.filter.Filter Delegate.");
}
// Comparison operators
// PropertyIsEqualTo
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @param isCaseSensitive case-sensitivity boolean
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, String literal, boolean isCaseSensitive) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,String,boolean) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, Date literal) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param startDate starting date of literal to compare
* @param endDate ending date of literal to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, Date startDate, Date endDate) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,Date,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, int literal) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,int) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, short literal) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,short) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, long literal) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,long) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, float literal) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,float) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, double literal) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,double) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, boolean literal) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,boolean) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsEqualTo(String, Object)
*/
public T propertyIsEqualTo(String propertyName, byte[] literal) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,byte[]) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is equal to the value of a literal.
* <p>
* {@code propertyName == literal}
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of equals operation between {@code propertyName} and {@code literal}
*/
public T propertyIsEqualTo(String propertyName, Object literal) {
throw new UnsupportedOperationException(
"propertyIsEqualTo(String,Object) not supported by org.opengis.filter.Filter Delegate.");
}
// PropertyIsNotEqualTo
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @param isCaseSensitive case-sensitivity boolean
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, String literal, boolean isCaseSensitive) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,String,boolean) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, Date literal) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param startDate starting date of literal to compare
* @param endDate ending date of literal to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, Date startDate, Date endDate) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,Date,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, int literal) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,int) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, short literal) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,short) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, long literal) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,long) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, float literal) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,float) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, double literal) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,double) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, boolean literal) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,boolean) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsNotEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsNotEqualTo(String, Object)
*/
public T propertyIsNotEqualTo(String propertyName, byte[] literal) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,byte[]) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is not equal to the value of a literal.
* <p>
* <p>
* {@code propertyName != literal}
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of not equals operation between {@code propertyName} and {@code literal}
*/
public T propertyIsNotEqualTo(String propertyName, Object literal) {
throw new UnsupportedOperationException(
"propertyIsNotEqualTo(String,Object) not supported by org.opengis.filter.Filter Delegate.");
}
// PropertyIsGreaterThan
/***
* See {@link FilterDelegate#propertyIsGreaterThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThan(String, Object)
*/
public T propertyIsGreaterThan(String propertyName, String literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThan(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThan(String, Object)
*/
public T propertyIsGreaterThan(String propertyName, Date literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThan(String,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThan(String, Object)
*/
public T propertyIsGreaterThan(String propertyName, int literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThan(String,int) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThan(String, Object)
*/
public T propertyIsGreaterThan(String propertyName, short literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThan(String,short) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThan(String, Object)
*/
public T propertyIsGreaterThan(String propertyName, long literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThan(String,long) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThan(String, Object)
*/
public T propertyIsGreaterThan(String propertyName, float literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThan(String,float) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThan(String, Object)
*/
public T propertyIsGreaterThan(String propertyName, double literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThan(String,double) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is greater than the value of a literal.
* <p>
* {@code propertyName > literal}
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
*/
public T propertyIsGreaterThan(String propertyName, Object literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThan(String,Object) not supported by org.opengis.filter.Filter Delegate.");
}
// PropertyIsGreaterThanOrEqualTo
/***
* See {@link FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)} .
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)
*/
public T propertyIsGreaterThanOrEqualTo(String propertyName, String literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThanOrEqualTo(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)} .
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)
*/
public T propertyIsGreaterThanOrEqualTo(String propertyName, Date literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThanOrEqualTo(String,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)} .
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)
*/
public T propertyIsGreaterThanOrEqualTo(String propertyName, int literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThanOrEqualTo(String,int) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)} .
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)
*/
public T propertyIsGreaterThanOrEqualTo(String propertyName, short literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThanOrEqualTo(String,short) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)} .
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)
*/
public T propertyIsGreaterThanOrEqualTo(String propertyName, long literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThanOrEqualTo(String,long) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)} .
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)
*/
public T propertyIsGreaterThanOrEqualTo(String propertyName, float literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThanOrEqualTo(String,float) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)} .
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsGreaterThanOrEqualTo(String, Object)
*/
public T propertyIsGreaterThanOrEqualTo(String propertyName, double literal) {
throw new UnsupportedOperationException(
"propertyIsGreaterThanOrEqualTo(String,double) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is greater than or equal to the value of a
* literal.
* <p>
* {@code propertyName >= literal}
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of greater than operation between {@code propertyName} and {@code literal}
*/
public T propertyIsGreaterThanOrEqualTo(String propertyName, Object literal) {
throw new UnsupportedOperationException(
"propertyIsLessThanOrEqualTo(String,Object) not supported by org.opengis.filter.Filter Delegate.");
}
// PropertyIsLessThan
/***
* See {@link FilterDelegate#propertyIsLessThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsLessThan(String, Object)
*/
public T propertyIsLessThan(String propertyName, String literal) {
throw new UnsupportedOperationException(
"propertyIsLessThan(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsLessThan(String, Object)
*/
public T propertyIsLessThan(String propertyName, Date literal) {
throw new UnsupportedOperationException(
"propertyIsLessThan(String,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsLessThan(String, Object)
*/
public T propertyIsLessThan(String propertyName, int literal) {
throw new UnsupportedOperationException(
"propertyIsLessThan(String,int) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsLessThan(String, Object)
*/
public T propertyIsLessThan(String propertyName, short literal) {
throw new UnsupportedOperationException(
"propertyIsLessThan(String,short) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsLessThan(String, Object)
*/
public T propertyIsLessThan(String propertyName, long literal) {
throw new UnsupportedOperationException(
"propertyIsLessThan(String,long) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsLessThan(String, Object)
*/
public T propertyIsLessThan(String propertyName, float literal) {
throw new UnsupportedOperationException(
"propertyIsLessThan(String,float) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThan(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than operation between {@code propertyName} and {@code literal}
* @see FilterDelegate#propertyIsLessThan(String, Object)
*/
public T propertyIsLessThan(String propertyName, double literal) {
throw new UnsupportedOperationException(
"propertyIsLessThan(String,double) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is less than the value of a literal.
* <p>
* {@code propertyName < literal}
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than operation between {@code propertyName} and {@code literal}
*/
public T propertyIsLessThan(String propertyName, Object literal) {
throw new UnsupportedOperationException(
"propertyIsLessThan(String,Object) not supported by org.opengis.filter.Filter Delegate.");
}
// PropertyIsLessThanOrEqualTo
/***
* See {@link FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than or equal to operation between {@code propertyName} and
* {@code literal}
* @see FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)
*/
public T propertyIsLessThanOrEqualTo(String propertyName, String literal) {
throw new UnsupportedOperationException(
"propertyIsLessThanOrEqualTo(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than or equal to operation between {@code propertyName} and
* {@code literal}
* @see FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)
*/
public T propertyIsLessThanOrEqualTo(String propertyName, Date literal) {
throw new UnsupportedOperationException(
"propertyIsLessThanOrEqualTo(String,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than or equal to operation between {@code propertyName} and
* {@code literal}
* @see FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)
*/
public T propertyIsLessThanOrEqualTo(String propertyName, int literal) {
throw new UnsupportedOperationException(
"propertyIsLessThanOrEqualTo(String,int) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than or equal to operation between {@code propertyName} and
* {@code literal}
* @see FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)
*/
public T propertyIsLessThanOrEqualTo(String propertyName, short literal) {
throw new UnsupportedOperationException(
"propertyIsLessThanOrEqualTo(String,short) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than or equal to operation between {@code propertyName} and
* {@code literal}
* @see FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)
*/
public T propertyIsLessThanOrEqualTo(String propertyName, long literal) {
throw new UnsupportedOperationException(
"propertyIsLessThanOrEqualTo(String,long) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than or equal to operation between {@code propertyName} and
* {@code literal}
* @see FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)
*/
public T propertyIsLessThanOrEqualTo(String propertyName, float literal) {
throw new UnsupportedOperationException(
"propertyIsLessThanOrEqualTo(String,float) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)}.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than or equal to operation between {@code propertyName} and
* {@code literal}
* @see FilterDelegate#propertyIsLessThanOrEqualTo(String, Object)
*/
public T propertyIsLessThanOrEqualTo(String propertyName, double literal) {
throw new UnsupportedOperationException(
"propertyIsLessThanOrEqualTo(String,double) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is less than or equal to the value of a
* literal.
* <p>
* {@code propertyName <= literal}
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of less than or equal to operation between {@code propertyName} and
* {@code literal}
*/
public T propertyIsLessThanOrEqualTo(String propertyName, Object literal) {
throw new UnsupportedOperationException(
"propertyIsLessThanOrEqualTo(String,Object) not supported by org.opengis.filter.Filter Delegate.");
}
// PropertyIsBetween
/***
* See {@link FilterDelegate#propertyIsBetween(String, Object, Object)}.
*
* @param propertyName name of property to compare
* @param lowerBoundary lower boundary to compare
* @param upperBoundary upper boundary to compare
* @return result of between operation
* @see FilterDelegate#propertyIsBetween(String, Object, Object)
*/
public T propertyIsBetween(String propertyName, String lowerBoundary, String upperBoundary) {
throw new UnsupportedOperationException(
"propertyIsBetween(String,String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsBetween(String, Object, Object)}.
*
* @param propertyName name of property to compare
* @param lowerBoundary lower boundary to compare
* @param upperBoundary upper boundary to compare
* @return result of between operation
* @see FilterDelegate#propertyIsBetween(String, Object, Object)
*/
public T propertyIsBetween(String propertyName, Date lowerBoundary, Date upperBoundary) {
throw new UnsupportedOperationException(
"propertyIsBetween(String,Date,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsBetween(String, Object, Object)}.
*
* @param propertyName name of property to compare
* @param lowerBoundary lower boundary to compare
* @param upperBoundary upper boundary to compare
* @return result of between operation
* @see FilterDelegate#propertyIsBetween(String, Object, Object)
*/
public T propertyIsBetween(String propertyName, int lowerBoundary, int upperBoundary) {
throw new UnsupportedOperationException(
"propertyIsBetween(String,int,int) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsBetween(String, Object, Object)}.
*
* @param propertyName name of property to compare
* @param lowerBoundary lower boundary to compare
* @param upperBoundary upper boundary to compare
* @return result of between operation
* @see FilterDelegate#propertyIsBetween(String, Object, Object)
*/
public T propertyIsBetween(String propertyName, short lowerBoundary, short upperBoundary) {
throw new UnsupportedOperationException(
"propertyIsBetween(String,short,short) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsBetween(String, Object, Object)}.
*
* @param propertyName name of property to compare
* @param lowerBoundary lower boundary to compare
* @param upperBoundary upper boundary to compare
* @return result of between operation
* @see FilterDelegate#propertyIsBetween(String, Object, Object)
*/
public T propertyIsBetween(String propertyName, long lowerBoundary, long upperBoundary) {
throw new UnsupportedOperationException(
"propertyIsBetween(String,long,long) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsBetween(String, Object, Object)}.
*
* @param propertyName name of property to compare
* @param lowerBoundary lower boundary to compare
* @param upperBoundary upper boundary to compare
* @return result of between operation
* @see FilterDelegate#propertyIsBetween(String, Object, Object)
*/
public T propertyIsBetween(String propertyName, float lowerBoundary, float upperBoundary) {
throw new UnsupportedOperationException(
"propertyIsBetween(String,float,float) not supported by org.opengis.filter.Filter Delegate.");
}
/***
* See {@link FilterDelegate#propertyIsBetween(String, Object, Object)}.
*
* @param propertyName name of property to compare
* @param lowerBoundary lower boundary to compare
* @param upperBoundary upper boundary to compare
* @return result of between operation
* @see FilterDelegate#propertyIsBetween(String, Object, Object)
*/
public T propertyIsBetween(String propertyName, double lowerBoundary, double upperBoundary) {
throw new UnsupportedOperationException(
"propertyIsBetween(String,double,double) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is between a lower and upper boundary. This is
* an exclusive comparison.
* <p>
* {@code lower < propertyName < upper}
*
* @param propertyName name of property to compare
* @param lowerBoundary lower boundary to compare
* @param upperBoundary upper boundary to compare
* @return result of between operation
*/
public T propertyIsBetween(String propertyName, Object lowerBoundary, Object upperBoundary) {
throw new UnsupportedOperationException(
"propertyIsBetween(String,Object,Object) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is equal to {@code null}.
* <p>
* {@code propertyName == null}
*
* @param propertyName name of property to compare
* @return result of null check
*/
public T propertyIsNull(String propertyName) {
throw new UnsupportedOperationException(
"propertyIsNull(String) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property to a regular expression pattern.
* <p>
* Regular expression special characters are defined as {@link FilterDelegate#WILDCARD_CHAR
* WILDCARD_CHAR}, {@link FilterDelegate#SINGLE_CHAR SINGLE_CHAR}, and
* {@link FilterDelegate#ESCAPE_CHAR ESCAPE_CHAR}.
*
* @param propertyName name of property to compare
* @param pattern regular expression pattern to match
* @param isCaseSensitive case-sensitivity boolean
* @return result of regular expression operation
*/
public T propertyIsLike(String propertyName, String pattern, boolean isCaseSensitive) {
throw new UnsupportedOperationException(
"propertyIsLike(String,String,boolean) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property to the value of a literal with a fuzzy operator
* which expands the literal to match misspellings.
*
* @param propertyName name of property to compare
* @param literal value to compare
* @return result of fuzzy operation
*/
public T propertyIsFuzzy(String propertyName, String literal) {
throw new UnsupportedOperationException(
"propertyIsFuzzy(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
// XPath operators
/**
* Determines if a node expressed by XPath exists.
*
* @param xpath XPath expression
* @return result of XPath node existence
*/
public T xpathExists(String xpath) {
throw new UnsupportedOperationException(
"xpathExists(String) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the node expressed by XPath to a regular expression pattern.
*
* @param xpath XPath expression
* @param pattern regular expression pattern to match
* @param isCaseSensitive case-sensitivity boolean
* @return result of regular expression operation on XPath node
* @see FilterDelegate#propertyIsLike(String, String, boolean)
*/
public T xpathIsLike(String xpath, String pattern, boolean isCaseSensitive) {
throw new UnsupportedOperationException(
"xpathIsLike(String,String,boolean) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the node expressed by XPath to the value of a literal with a fuzzy operator which
* expands the literal to match misspellings.
*
* @param xpath XPath expression
* @param literal value to compare
* @return result of fuzzy operation on XPath node
*/
public T xpathIsFuzzy(String xpath, String literal) {
throw new UnsupportedOperationException(
"xpathIsFuzzy(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
// Spatial operators
/**
* Compares the geometry associated with a property is beyond a distance from a WKT geometry.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @param distance distance buffer in meters
* @return result of beyond spatial operation
*/
public T beyond(String propertyName, String wkt, double distance) {
throw new UnsupportedOperationException(
"beyond(String,String,double) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the geometry associated with a property is contained by a WKT geometry.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @return result of contains spatial operation
*/
public T contains(String propertyName, String wkt) {
throw new UnsupportedOperationException(
"contains(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the geometry associated with a property crosses a WKT geometry.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @return result of crosses spatial operation
*/
public T crosses(String propertyName, String wkt) {
throw new UnsupportedOperationException(
"crosses(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the geometry associated with a property is disjoint from a WKT geometry.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @return result of disjoint spatial operation
*/
public T disjoint(String propertyName, String wkt) {
throw new UnsupportedOperationException(
"disjoint(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the geometry associated with a property is within a distance from a WKT geometry.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @param distance distance buffer in meters
* @return result of dwithin spatial operation
*/
public T dwithin(String propertyName, String wkt, double distance) {
throw new UnsupportedOperationException(
"dwithin(String,String,double) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the geometry associated with a property intersects a WKT geometry.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @return result of intersects spatial operation
*/
public T intersects(String propertyName, String wkt) {
throw new UnsupportedOperationException(
"intersects(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the geometry associated with a property overlaps a WKT geometry.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @return result of overlaps spatial operation
*/
public T overlaps(String propertyName, String wkt) {
throw new UnsupportedOperationException(
"overlaps(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the geometry associated with a property touches a WKT geometry.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @return result of touches spatial operation
*/
public T touches(String propertyName, String wkt) {
throw new UnsupportedOperationException(
"touches(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the geometry associated with a property is within a WKT geometry.
*
* @param propertyName name of property to compare
* @param wkt WKT geometry to compare
* @return result of within spatial operation
*/
public T within(String propertyName, String wkt) {
throw new UnsupportedOperationException(
"within(String,String) not supported by org.opengis.filter.Filter Delegate.");
}
// Temporal operators
/**
* Compares the value associated with a property is after a given {@code Date}. This is an
* exclusive comparison.
* <p>
* {@code property > date}
*
* @param propertyName name of property to compare
* @param date {@code Date} to compare
* @return result of after temporal operation
*/
public T after(String propertyName, Date date) {
throw new UnsupportedOperationException(
"after(String,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is before a given {@code Date}.This is an
* exclusive comparison.
* <p>
* {@code property < date}
*
* @param propertyName name of property to compare
* @param date {@code Date} to compare
* @return result of before temporal operation
*/
public T before(String propertyName, Date date) {
throw new UnsupportedOperationException(
"before(String,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is between a start and end date. This is an
* exclusive comparison.
* <p>
* {@code startDate < property < endDate}
*
* @param propertyName name of property to compare
* @param startDate start date to compare
* @param endDate end date to compare
* @return result of during temporal operation
*/
public T during(String propertyName, Date startDate, Date endDate) {
throw new UnsupportedOperationException(
"during(String,Date,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with the property by checking if it is start at the start date
* and ends some time before the endDate
*
* @param propertyName name of property to compare
* @param startDate start date to compare
* @param endDate end date to compare
* @return result of begins temporal operation
*/
public T begins(String propertyName, Date startDate, Date endDate) {
throw new UnsupportedOperationException(
"begins(String,Date,Date) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Compares the value associated with a property is relatively within a duration of milliseconds
* in the past from the current time of evaluation.
*
* @param propertyName name of property to compare
* @param duration relative duration in milliseconds
* @return result of relative temporal operation
*/
public T relative(String propertyName, long duration) {
throw new UnsupportedOperationException(
"relative(String,long) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Determines if the property contains search terms that are within a certain distance of each other.
*
* @param propertyName name of property to compare
* @param distance distance (in words) between search terms
* @param searchTerm search terms to compare
* @return
*/
public T propertyIsInProximityTo(String propertyName, Integer distance, String searchTerm) {
throw new UnsupportedOperationException(
"propertyIsInProximityTo(String,Integer,String) not supported by org.opengis.filter.Filter Delegate.");
}
/**
* Determines if the property contains search terms that are not within a certain distance of each other.
*
* @param propertyName name of property to compare
* @param distance distance (in words) between search terms
* @param searchTerm search terms to compare
* @return
*/
public T propertyIsNotInProximityTo(String propertyName, Integer distance, String searchTerm) {
throw new UnsupportedOperationException(
"propertyIsNotInProximityTo(String,Integer,String) not supported by org.opengis.filter.Filter Delegate.");
}
}