1
|
package eu.dnetlib.data.search.transform;
|
2
|
|
3
|
import java.util.List;
|
4
|
|
5
|
public class ChainTransformer implements Transformer {
|
6
|
|
7
|
private final String name;
|
8
|
private final List<Transformer> transformers;
|
9
|
//private final Logger logger = Logger.getLogger(ChainTransformer.class);
|
10
|
|
11
|
public ChainTransformer(String name, List<Transformer> transformers) {
|
12
|
this.name = name;
|
13
|
this.transformers = transformers;
|
14
|
}
|
15
|
|
16
|
public List<Transformer> getTransformers() {
|
17
|
return transformers;
|
18
|
}
|
19
|
|
20
|
public String getName() {
|
21
|
return name;
|
22
|
}
|
23
|
|
24
|
/**
|
25
|
* Applies sequential transformations.
|
26
|
**/
|
27
|
@Override
|
28
|
public String transform(String input) throws TransformerException {
|
29
|
String output = null;
|
30
|
|
31
|
for (Transformer transformer : transformers) {
|
32
|
output = transformer.transform(input);
|
33
|
input = output;
|
34
|
}
|
35
|
|
36
|
return output;
|
37
|
}
|
38
|
|
39
|
}
|