public abstract class Filter
extends java.lang.Object
implements java.io.Serializable
OGC 标准定义的 <Filter> 元素(过滤器)的抽象。
这里说的抽象,不是因为这个类是 abstract 的 ,而是指这个类是对 OGC <Filter> 元素的抽象,该类的子类是对 Filter 元素(<Filter> 中的元素)的抽象。
在 OGC 定义的 <Filter> 中,包含着过滤表达式,过滤表达式由 Filter 元素组合而成,<Filter> 中的 Filter 元素都可以在本类的子类中找到对应关系。
在 WFS 服务中,<Filter> 元素用来设置查询限制条件,空间的或非空间的限制条件都可以进行设置,可用来限制 GetFeature 操作的结果,即要素结果集。
限定符和类型 | 字段和说明 |
---|---|
protected java.lang.String |
name
Filter 元素的名称。
|
protected Filter[] |
subExpression
子 Filter 元素数组。
|
限定符 | 构造器和说明 |
---|---|
|
Filter()
构造函数。
|
protected |
Filter(java.lang.String name, int expressionCount)
受保护的构造函数。
|
限定符和类型 | 方法和说明 |
---|---|
abstract void |
accept(AbstractFilterVisitor visitor) |
Filter |
copy()
拷贝副本。
|
abstract FilterType |
getFilterType()
获取 Filter 元素的类型。
|
java.lang.String |
getName()
获取 Filter 元素的名称。
|
Filter |
getSubExpression(int index)
根据索引获取子 Filter 元素。
|
int |
getSubExpressionCount()
获取子 Filter 元素的个数。
|
void |
setSubExpression(int index, Filter expression)
设置子 Filter 元素。
|
protected Filter[] subExpression
子 Filter 元素数组。
protected java.lang.String name
Filter 元素的名称。
如“BBOX”、“Contains”等。
protected Filter(java.lang.String name, int expressionCount)
受保护的构造函数。
name
- Filter 元素的名称。expressionCount
- 子 Filter 元素的个数。public Filter()
构造函数。
public java.lang.String getName()
public int getSubExpressionCount()
获取子 Filter 元素的个数。
public Filter copy()
拷贝副本。生成一个跟本对象一样的新的 Filter 对象。
该函数依赖于子类的具体实现,可能返回 null。
public abstract void accept(AbstractFilterVisitor visitor) throws OGCException
OGCException
public Filter getSubExpression(int index)
根据索引获取子 Filter 元素。
index
- 子 Filter 元素的索引。public void setSubExpression(int index, Filter expression)
设置子 Filter 元素。
如果指定索引位置已有内容,则新的 Filter 元素对象将替换旧的。
index
- 欲设置的子 Filter 元素的索引。expression
- 欲设置的子 Filter 元素对象。public abstract FilterType getFilterType()
获取 Filter 元素的类型。