public class FiltersManager extends Object
此管理器保存一组过滤器,并通过构建堆栈应用所有相关过滤器,将原始的 DataSource
转换为处理过的 DataSource
。
DataSource
, DataFilter
Constructor and Description |
---|
FiltersManager()
构建一个空的管理器。
|
Modifier and Type | Method and Description |
---|---|
void |
addFilter(DataFilter filter)
添加一个数据过滤器。
|
DataSource |
applyRelevantFilters(DataSource original)
应用所有相关的数据过滤器,注意层次。
|
void |
clearFilters()
移除所有数据过滤器。
|
public void addFilter(DataFilter filter)
filter
- 要添加的过滤器
applyRelevantFilters(DataSource)
, clearFilters()
public void clearFilters()
addFilter(DataFilter)
public DataSource applyRelevantFilters(DataSource original) throws IOException
如果有多个过滤器可以应用,它们将作为堆栈全部应用,甚至在必要时进行递归应用。这意味着如果过滤器 A 适用于文件名为 base.ext.a 的文件,过滤器 B 适用于文件名为 base.ext.b 的文件,那么提供 base.ext.a.b.a 将导致过滤器 A 应用在过滤器 B 之上,而过滤器 B 本身又应用在另一个过滤器 A 的上面。
original
- 原始数据源
IOException
- 如果某个数据流无法被过滤
addFilter(DataFilter)
, clearFilters()
Copyright © 2002-2023 CS GROUP. All rights reserved.