Last change
on this file since 1326 was
1326,
checked in by khartmann, 10 years ago
|
Moved alexanders code into a new plugin project.
First commit of my experimental code (needs a lot of cleanup).
|
File size:
1.1 KB
|
Line | |
---|
1 | package de.ugoe.cs.autoquest.plugin.usability2.rules.operator; |
---|
2 | |
---|
3 | import de.ugoe.cs.autoquest.plugin.usability2.rules.results.IResult; |
---|
4 | import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask; |
---|
5 | |
---|
6 | public abstract class MarkingFilter implements IFilter { |
---|
7 | |
---|
8 | private static final IResultTransformer IDENTITY_TRANSFORMER = new IResultTransformer() { |
---|
9 | @Override |
---|
10 | public IResult transform(IResult result, IFilter filter, ITask task) { |
---|
11 | return result; |
---|
12 | } |
---|
13 | }; |
---|
14 | |
---|
15 | private final IFilter filter; |
---|
16 | private final IResultTransformer transformer; |
---|
17 | |
---|
18 | public MarkingFilter(IFilter marked) { |
---|
19 | this(marked, IDENTITY_TRANSFORMER); |
---|
20 | } |
---|
21 | |
---|
22 | public MarkingFilter(IFilter marked, IResultTransformer transformer) { |
---|
23 | this.filter = marked; |
---|
24 | if(transformer == null) |
---|
25 | this.transformer = IDENTITY_TRANSFORMER; |
---|
26 | else |
---|
27 | this.transformer = transformer; |
---|
28 | } |
---|
29 | |
---|
30 | @Override |
---|
31 | public IResult match(ITask task) { |
---|
32 | return transformer.transform(match(task, filter), filter, task); |
---|
33 | } |
---|
34 | |
---|
35 | protected abstract IResult match(ITask task, IFilter filter); |
---|
36 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.