在自定义文件筛选器中定义执行顺序

时间:2013-07-13 07:51:54

标签: java spring spring-mvc

我正在开发一个Spring 3.1 MVC应用程序,用户可以在其中上传文件并在文本上应用一些过滤器。例如,一个过滤器可以删除特殊字符,其他过滤器可以识别语法错误。

在我的第一个实现中,我使用了数据库设置表,其中包含过滤器的名称和一个布尔值,指示应用程序是否应该执行它。我只需要获取活动过滤器的名称并转到哈希表以获取实例(实现FileFilter接口的对象)并执行它们。这种方法非常简单,在我创建新过滤器之前工作得很好。

我对这些新过滤器有两个问题:

  1. 某些过滤器具有依赖项。用户可以选择仅运行过滤器C,但此过滤器也需要执行过滤器A和B.
  2. 需要按顺序执行某些过滤器。例如,过滤器A可以在任何时刻执行,但过滤器B必须在特定顺序的C和D之后执行。
  3. 我的问题(以及我的真正问题)是,我如何更改我的实现以使其适应这些新的过滤器,而无需添加大量代码并且干净利落?

0 个答案:

没有答案