1 package org.codehaus.plexus.compiler.util.scan.mapping;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.io.File;
20 import java.util.Collections;
21 import java.util.HashSet;
22 import java.util.Set;
23
24
25
26
27 public final class SuffixMapping implements SourceMapping {
28 private final String sourceSuffix;
29
30 private final Set<String> targetSuffixes;
31
32 public SuffixMapping(String sourceSuffix, String targetSuffix) {
33 this.sourceSuffix = sourceSuffix;
34
35 this.targetSuffixes = Collections.singleton(targetSuffix);
36 }
37
38 public SuffixMapping(String sourceSuffix, Set<String> targetSuffixes) {
39 this.sourceSuffix = sourceSuffix;
40
41 this.targetSuffixes = Collections.unmodifiableSet(targetSuffixes);
42 }
43
44 public Set<File> getTargetFiles(File targetDir, String source) {
45 Set<File> targetFiles = new HashSet<>();
46
47 if (source.endsWith(sourceSuffix)) {
48 String base = source.substring(0, source.length() - sourceSuffix.length());
49
50 for (String suffix : targetSuffixes) {
51 targetFiles.add(new File(targetDir, base + suffix));
52 }
53 }
54
55 return targetFiles;
56 }
57 }