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 = false)
36 private String derivedFrom;
37
38 @Parameter(required = true)
39 private String id;
40
41 @Parameter(required = true)
42 private String family;
43
44 @Parameter(required = true)
45 private String name;
46
47 public License() {
48 }
49
50 @Override
51 protected void setMatcher(IHeaderMatcher.Builder builder) {
52 this.builder.setMatcher(builder);
53 }
54
55 public ILicense build(SortedSet<ILicenseFamily> context) {
56 return builder.setDerivedFrom(derivedFrom).setLicenseFamilyCategory(family).setId(id)
57 .setName(name).setNotes(notes).build(context);
58 }
59
60 @Override
61 public String toString() {
62 return '{' + family + ':' + id + ':' + name + '}';
63 }
64
65 }