1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.rat.report.claim.impl;
21
22 import org.apache.rat.api.Document;
23 import org.apache.rat.api.MetaData;
24 import org.apache.rat.api.RatException;
25 import org.apache.rat.report.AbstractReport;
26
27
28
29
30
31
32
33 public abstract class AbstractClaimReporter extends AbstractReport {
34
35
36
37
38 protected void handleDocumentCategoryClaim(String documentCategoryName) {
39
40 }
41
42
43
44
45
46 protected void handleApprovedLicenseClaim(String licenseApproved) {
47
48 }
49
50
51
52
53
54 protected void handleLicenseFamilyNameClaim(String licenseFamilyName) {
55
56 }
57
58
59
60
61
62 protected void handleHeaderCategoryClaim(String headerCategory) {
63
64 }
65
66 private void writeDocumentClaim(Document subject) {
67 final MetaData metaData = subject.getMetaData();
68 writeHeaderCategory(metaData);
69 writeLicenseFamilyName(metaData);
70 writeDocumentCategory(metaData);
71 writeApprovedLicenseClaim(metaData);
72 }
73
74 private void writeApprovedLicenseClaim(final MetaData metaData) {
75 final MetaData.Datum approvedLicenseDatum = metaData.get(MetaData.RAT_URL_APPROVED_LICENSE);
76 if (approvedLicenseDatum != null) {
77 final String approvedLicense = approvedLicenseDatum.getValue();
78 if (approvedLicense != null) {
79 handleApprovedLicenseClaim(approvedLicense);
80 }
81 }
82 }
83
84 private void writeHeaderCategory(final MetaData metaData) {
85 final MetaData.Datum headerCategoryDatum = metaData.get(MetaData.RAT_URL_HEADER_CATEGORY);
86 if (headerCategoryDatum != null) {
87 final String headerCategory = headerCategoryDatum.getValue();
88 if (headerCategory != null) {
89 handleHeaderCategoryClaim(headerCategory);
90 }
91 }
92 }
93
94 private void writeLicenseFamilyName(final MetaData metaData) {
95 final MetaData.Datum licenseFamilyNameDatum = metaData.get(MetaData.RAT_URL_LICENSE_FAMILY_NAME);
96 if (licenseFamilyNameDatum != null) {
97 final String licenseFamilyName = licenseFamilyNameDatum.getValue();
98 if (licenseFamilyName != null) {
99 handleLicenseFamilyNameClaim(licenseFamilyName);
100 }
101 }
102 }
103
104 private void writeDocumentCategory(final MetaData metaData) {
105 final MetaData.Datum documentCategoryDatum = metaData.get(MetaData.RAT_URL_DOCUMENT_CATEGORY);
106 if (documentCategoryDatum != null) {
107 final String documentCategory = documentCategoryDatum.getValue();
108 if (documentCategory != null) {
109 handleDocumentCategoryClaim(documentCategory);
110 }
111 }
112 }
113
114 @Override
115 public void report(Document subject) throws RatException {
116 writeDocumentClaim(subject);
117 }
118 }