1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.mp;
20
21 import java.util.SortedSet;
22
23 import org.apache.maven.plugins.annotations.Parameter;
24 import org.apache.rat.analysis.IHeaderMatcher;
25 import org.apache.rat.license.ILicense;
26 import org.apache.rat.license.ILicenseFamily;
27
28 public class License extends EnclosingMatcher {
29
30 private final ILicense.Builder builder = ILicense.builder();
31
32 @Parameter(required = false)
33 private String notes;
34
35 @Parameter(required = true)
36 private String id;
37
38 @Parameter(required = true)
39 private String family;
40
41 @Parameter(required = true)
42 private String name;
43
44 public License() {
45 }
46
47 @Override
48 protected void setMatcher(IHeaderMatcher.Builder builder) {
49 this.builder.setMatcher(builder);
50 }
51
52 public ILicense build(SortedSet<ILicenseFamily> context) {
53
54 return builder.setLicenseFamilies(context)
55 .setFamily(family).setId(id)
56 .setName(name).setNote(notes).build();
57 }
58
59 @Override
60 public String toString() {
61 return '{' + family + ':' + id + ':' + name + '}';
62 }
63
64 }