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
|
Rev | Line | |
---|
[1326] | 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.