You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by po...@apache.org on 2024/01/16 21:31:49 UTC
(creadur-site) branch asf-site updated: Republish preview webpage
This is an automated email from the ASF dual-hosted git repository.
pottlinger pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/creadur-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new e0673218 Republish preview webpage
e0673218 is described below
commit e0673218ef024531f9412bc07e0942aea6666f66
Author: Hugo Hirsch <gi...@hugo-hirsch.de>
AuthorDate: Tue Jan 16 22:31:43 2024 +0100
Republish preview webpage
---
rat0161/apache-rat-core/apidocs/index-all.html | 28 +-
.../org/apache/rat/ReportConfiguration.html | 2 +-
.../rat/analysis/DefaultAnalyserFactory.html | 8 +-
.../matchers/SPDXMatcherFactory.Match.html | 30 +-
.../rat/annotation/AbstractLicenseAppender.html | 13 +-
.../rat/annotation/ApacheV2LicenseAppender.html | 14 +-
.../rat/document/class-use/IDocumentAnalyser.html | 3 +-
.../org/apache/rat/license/class-use/ILicense.html | 3 +-
.../rat/report/claim/util/LicenseAddingReport.html | 8 +-
.../apidocs/org/apache/rat/utils/DefaultLog.html | 22 +-
.../apidocs/org/apache/rat/utils/Log.Level.html | 22 +-
.../apidocs/org/apache/rat/utils/Log.html | 75 +-
.../org/apache/rat/utils/class-use/Log.Level.html | 11 +-
.../org/apache/rat/utils/class-use/Log.html | 80 ++
.../apidocs/org/apache/rat/utils/package-use.html | 63 +
rat0161/apache-rat-core/jira-report.html | 180 +--
rat0161/apache-rat-core/pmd.html | 94 +-
rat0161/apache-rat-core/rat-report.html | 2 +-
.../org/apache/rat/ReportConfigurationTest.html | 89 +-
.../xref-test/org/apache/rat/ReportTest.html | 101 +-
.../xref-test/org/apache/rat/ReporterTest.html | 200 +--
.../apache/rat/analysis/AnalyserFactoryTest.html | 185 +--
.../rat/analysis/matchers/SPDXMatcherTest.html | 13 +-
.../apache/rat/annotation/TestLicenseAppender.html | 1289 ++++++++++----------
.../rat/report/xml/XmlReportFactoryTest.html | 92 +-
.../org/apache/rat/report/xml/XmlReportTest.html | 133 +-
.../xref/org/apache/rat/Report.html | 591 +++++----
.../xref/org/apache/rat/ReportConfiguration.html | 2 +-
.../rat/analysis/DefaultAnalyserFactory.html | 115 +-
.../rat/analysis/DocumentHeaderAnalyser.html | 76 +-
.../org/apache/rat/analysis/LicenseCollection.html | 225 ++--
.../rat/analysis/matchers/CopyrightMatcher.html | 33 +-
.../rat/analysis/matchers/SPDXMatcherFactory.html | 13 +-
.../rat/annotation/AbstractLicenseAppender.html | 1170 +++++++++---------
.../rat/annotation/ApacheV2LicenseAppender.html | 148 +--
.../xref/org/apache/rat/api/MetaData.html | 299 ++---
.../claim/impl/xml/SimpleXmlClaimReporter.html | 241 ++--
.../rat/report/claim/util/LicenseAddingReport.html | 51 +-
.../apache/rat/report/xml/XmlReportFactory.html | 4 +-
.../xref/org/apache/rat/utils/DefaultLog.html | 51 +-
.../xref/org/apache/rat/utils/Log.html | 77 +-
rat0161/apache-rat-plugin/dependencies.html | 2 +-
rat0161/apache-rat-plugin/jira-report.html | 180 +--
rat0161/apache-rat-plugin/rat-report.html | 2 +-
rat0161/apache-rat-tasks/dependencies.html | 2 +-
rat0161/apache-rat-tasks/jira-report.html | 180 +--
rat0161/apache-rat-tasks/rat-report.html | 2 +-
rat0161/apache-rat/jira-report.html | 180 +--
rat0161/apache-rat/rat-report.html | 2 +-
rat0161/apidocs/index-all.html | 28 +-
.../org/apache/rat/ReportConfiguration.html | 2 +-
.../rat/analysis/DefaultAnalyserFactory.html | 8 +-
.../matchers/SPDXMatcherFactory.Match.html | 30 +-
.../rat/annotation/AbstractLicenseAppender.html | 13 +-
.../rat/annotation/ApacheV2LicenseAppender.html | 14 +-
.../rat/document/class-use/IDocumentAnalyser.html | 3 +-
.../org/apache/rat/license/class-use/ILicense.html | 3 +-
.../rat/report/claim/util/LicenseAddingReport.html | 8 +-
.../apidocs/org/apache/rat/utils/DefaultLog.html | 22 +-
.../apidocs/org/apache/rat/utils/Log.Level.html | 22 +-
rat0161/apidocs/org/apache/rat/utils/Log.html | 75 +-
.../org/apache/rat/utils/class-use/Log.Level.html | 11 +-
.../org/apache/rat/utils/class-use/Log.html | 80 ++
.../apidocs/org/apache/rat/utils/package-use.html | 63 +
rat0161/changes-report.html | 8 +
rat0161/jira-report.html | 180 +--
rat0161/rat-report.html | 2 +-
67 files changed, 3851 insertions(+), 3127 deletions(-)
diff --git a/rat0161/apache-rat-core/apidocs/index-all.html b/rat0161/apache-rat-core/apidocs/index-all.html
index e525c5ac..9085f8ee 100644
--- a/rat0161/apache-rat-core/apidocs/index-all.html
+++ b/rat0161/apache-rat-core/apidocs/index-all.html
@@ -100,8 +100,10 @@
<dd>
<div class="block">Add a license header to a document.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender--">AbstractLicenseAppender()</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/AbstractLicenseAppender.html" title="class in org.apache.rat.annotation">AbstractLicenseAppender</a></dt>
-<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender-org.apache.rat.utils.Log-">AbstractLicenseAppender(Log)</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/AbstractLicenseAppender.html" title="class in org.apache.rat.annotation">AbstractLicenseAppender</a></dt>
+<dd>
+<div class="block">Constructor</div>
+</dd>
<dt><a href="org/apache/rat/analysis/matchers/AbstractMatcherContainer.html" title="class in org.apache.rat.analysis.matchers"><span class="typeNameLink">AbstractMatcherContainer</span></a> - Class in <a href="org/apache/rat/analysis/matchers/package-summary.html">org.apache.rat.analysis.matchers</a></dt>
<dd>
<div class="block">A class that implements IHeaderMatcher as a collection of other IHeaderMatchers.</div>
@@ -282,11 +284,11 @@
<div class="block">Add an Apache License V2 license header to a
document.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender--">ApacheV2LicenseAppender()</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html" title="class in org.apache.rat.annotation">ApacheV2LicenseAppender</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-org.apache.rat.utils.Log-">ApacheV2LicenseAppender(Log)</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html" title="class in org.apache.rat.annotation">ApacheV2LicenseAppender</a></dt>
<dd>
<div class="block">Create a license appender with the standard ASF license header.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-java.lang.String-">ApacheV2LicenseAppender(String)</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html" title="class in org.apache.rat.annotation">ApacheV2LicenseAppender</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-org.apache.rat.utils.Log-java.lang.String-">ApacheV2LicenseAppender(Log, String)</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html" title="class in org.apache.rat.annotation">ApacheV2LicenseAppender</a></dt>
<dd>
<div class="block">Create a license appender with the given copyright line.</div>
</dd>
@@ -528,7 +530,7 @@
<dd>
<div class="block">Creates the spdx matcher.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-java.util.Collection-">createDefaultAnalyser(Collection<ILicense>)</a></span> - Static method in class org.apache.rat.analysis.<a href="org/apache/rat/analysis/DefaultAnalyserFactory.html" title="class in org.apache.rat.analysis">DefaultAnalyserFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-org.apache.rat.utils.Log-java.util.Collection-">createDefaultAnalyser(Log, Collection<ILicense>)</a></span> - Static method in class org.apache.rat.analysis.<a href="org/apache/rat/analysis/DefaultAnalyserFactory.html" title="class in org.apache.rat.analysis">DefaultAnalyserFactory</a></dt>
<dd>
<div class="block">Creates a DocumentAnalyser from a collection of ILicenses.</div>
</dd>
@@ -564,6 +566,8 @@
<dd>
<div class="block">Constructs a datum.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#debug-java.lang.Object-">debug(Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><a href="org/apache/rat/analysis/DefaultAnalyserFactory.html" title="class in org.apache.rat.analysis"><span class="typeNameLink">DefaultAnalyserFactory</span></a> - Class in <a href="org/apache/rat/analysis/package-summary.html">org.apache.rat.analysis</a></dt>
<dd>
<div class="block">Creates default analysers.</div>
@@ -672,6 +676,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/utils/ReportingSet.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.rat.utils.<a href="org/apache/rat/utils/ReportingSet.html" title="class in org.apache.rat.utils">ReportingSet</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#error-java.lang.Object-">error(Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/document/impl/guesser/BinaryGuesser.html#extensionMatches-java.lang.String-java.lang.String:A-">extensionMatches(String, String[])</a></span> - Static method in class org.apache.rat.document.impl.guesser.<a href="org/apache/rat/document/impl/guesser/BinaryGuesser.html" title="class in org.apache.rat.document.impl.guesser">BinaryGuesser</a></dt>
<dd> </dd>
</dl>
@@ -1156,6 +1162,8 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/license/ILicenseFamilyBuilder.html#ILicenseFamilyBuilder--">ILicenseFamilyBuilder()</a></span> - Constructor for class org.apache.rat.license.<a href="org/apache/rat/license/ILicenseFamilyBuilder.html" title="class in org.apache.rat.license">ILicenseFamilyBuilder</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#info-java.lang.Object-">info(Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/Defaults.html#init--">init()</a></span> - Static method in class org.apache.rat.<a href="org/apache/rat/Defaults.html" title="class in org.apache.rat">Defaults</a></dt>
<dd>
<div class="block">Initialize the system configuration reader..</div>
@@ -1274,7 +1282,7 @@
<dd> </dd>
<dt><a href="org/apache/rat/report/claim/util/LicenseAddingReport.html" title="class in org.apache.rat.report.claim.util"><span class="typeNameLink">LicenseAddingReport</span></a> - Class in <a href="org/apache/rat/report/claim/util/package-summary.html">org.apache.rat.report.claim.util</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport-java.lang.String-boolean-">LicenseAddingReport(String, boolean)</a></span> - Constructor for class org.apache.rat.report.claim.util.<a href="org/apache/rat/report/claim/util/LicenseAddingReport.html" title="class in org.apache.rat.report.claim.util">LicenseAddingReport</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport-org.apache.rat.utils.Log-java.lang.String-boolean-">LicenseAddingReport(Log, String, boolean)</a></span> - Constructor for class org.apache.rat.report.claim.util.<a href="org/apache/rat/report/claim/util/LicenseAddingReport.html" title="class in org.apache.rat.report.claim.util">LicenseAddingReport</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/ReportConfiguration.html#licenseDuplicateOption-org.apache.rat.utils.ReportingSet.Options-">licenseDuplicateOption(ReportingSet.Options)</a></span> - Method in class org.apache.rat.<a href="org/apache/rat/ReportConfiguration.html" title="class in org.apache.rat">ReportConfiguration</a></dt>
<dd>
@@ -1334,6 +1342,8 @@
<dd>
<div class="block">Writes a message at a specific log level.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#log-org.apache.rat.utils.Log.Level-java.lang.Object-">log(Log.Level, Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><a href="org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils"><span class="typeNameLink">Log.Level</span></a> - Enum in <a href="org/apache/rat/utils/package-summary.html">org.apache.rat.utils</a></dt>
<dd>
<div class="block">The log levels supported by logging.</div>
@@ -2021,6 +2031,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/matchers/OrMatcher.html#reset--">reset()</a></span> - Method in class org.apache.rat.analysis.matchers.<a href="org/apache/rat/analysis/matchers/OrMatcher.html" title="class in org.apache.rat.analysis.matchers">OrMatcher</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html#reset--">reset()</a></span> - Method in class org.apache.rat.analysis.matchers.<a href="org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html" title="class in org.apache.rat.analysis.matchers">SPDXMatcherFactory.Match</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/UnknownLicense.html#reset--">reset()</a></span> - Method in class org.apache.rat.analysis.<a href="org/apache/rat/analysis/UnknownLicense.html" title="class in org.apache.rat.analysis">UnknownLicense</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/utils/ReportingSet.html#retainAll-java.util.Collection-">retainAll(Collection<?>)</a></span> - Method in class org.apache.rat.utils.<a href="org/apache/rat/utils/ReportingSet.html" title="class in org.apache.rat.utils">ReportingSet</a></dt>
@@ -2129,6 +2141,8 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/ReportConfiguration.html#setInputFileFilter-java.io.FilenameFilter-">setInputFileFilter(FilenameFilter)</a></span> - Method in class org.apache.rat.<a href="org/apache/rat/ReportConfiguration.html" title="class in org.apache.rat">ReportConfiguration</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/DefaultLog.html#setLevel-org.apache.rat.utils.Log.Level-">setLevel(Log.Level)</a></span> - Method in class org.apache.rat.utils.<a href="org/apache/rat/utils/DefaultLog.html" title="class in org.apache.rat.utils">DefaultLog</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/license/BaseLicense.html#setLicenseFamilyCategory-java.lang.String-">setLicenseFamilyCategory(String)</a></span> - Method in class org.apache.rat.analysis.license.<a href="org/apache/rat/analysis/license/BaseLicense.html" title="class in org.apache.rat.analysis.license">BaseLicense</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -2565,6 +2579,8 @@ the order they are declared.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/walker/Walker.html#Walker-java.lang.String-java.io.File-java.io.FilenameFilter-">Walker(String, File, FilenameFilter)</a></span> - Constructor for class org.apache.rat.walker.<a href="org/apache/rat/walker/Walker.html" title="class in org.apache.rat.walker">Walker</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#warn-java.lang.Object-">warn(Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/ReportConfiguration.NoCloseOutputStream.html#write-int-">write(int)</a></span> - Method in class org.apache.rat.<a href="org/apache/rat/ReportConfiguration.NoCloseOutputStream.html" title="class in org.apache.rat">ReportConfiguration.NoCloseOutputStream</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/ReportConfiguration.NoCloseOutputStream.html#write-byte:A-int-int-">write(byte[], int, int)</a></span> - Method in class org.apache.rat.<a href="org/apache/rat/ReportConfiguration.NoCloseOutputStream.html" title="class in org.apache.rat">ReportConfiguration.NoCloseOutputStream</a></dt>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/ReportConfiguration.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/ReportConfiguration.html
index 97d6f263..107b775f 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/ReportConfiguration.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/ReportConfiguration.html
@@ -747,7 +747,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - The OutputStream supplier that provides the output stream to write
- the report to. (may be null)</dd>
+ the report to. A null value will use System.out.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/rat/ReportConfiguration.NoCloseOutputStream.html" title="class in org.apache.rat"><code>ReportConfiguration.NoCloseOutputStream</code></a></dd>
</dl>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/analysis/DefaultAnalyserFactory.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/analysis/DefaultAnalyserFactory.html
index 974f6064..f541b9e3 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/analysis/DefaultAnalyserFactory.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/analysis/DefaultAnalyserFactory.html
@@ -149,7 +149,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/rat/document/IDocumentAnalyser.html" title="interface in org.apache.rat.document">IDocumentAnalyser</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-java.util.Collection-">createDefaultAnalyser</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-org.apache.rat.utils.Log-java.util.Collection-">createDefaultAnalyser</a></span>(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses)</code>
<div class="block">Creates a DocumentAnalyser from a collection of ILicenses.</div>
</td>
</tr>
@@ -192,13 +193,14 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<!-- -->
</a>
<h3>Method Detail</h3>
-<a name="createDefaultAnalyser-java.util.Collection-">
+<a name="createDefaultAnalyser-org.apache.rat.utils.Log-java.util.Collection-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createDefaultAnalyser</h4>
-<pre>public static <a href="../../../../org/apache/rat/document/IDocumentAnalyser.html" title="interface in org.apache.rat.document">IDocumentAnalyser</a> createDefaultAnalyser(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses)</pre>
+<pre>public static <a href="../../../../org/apache/rat/document/IDocumentAnalyser.html" title="interface in org.apache.rat.document">IDocumentAnalyser</a> createDefaultAnalyser(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses)</pre>
<div class="block">Creates a DocumentAnalyser from a collection of ILicenses.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html
index 877970b7..20c95e9a 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -168,13 +168,19 @@ extends <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleM
<div class="block">Performs the actual match test.</div>
</td>
</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html#reset--">reset</a></span>()</code>
+<div class="block">Resets this state <code>State.i</code>.</div>
+</td>
+</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.rat.analysis.matchers.AbstractSimpleMatcher">
<!-- -->
</a>
<h3>Methods inherited from class org.apache.rat.analysis.matchers.<a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html" title="class in org.apache.rat.analysis.matchers">AbstractSimpleMatcher</a></h3>
-<code><a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#currentState--">currentState</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#finalizeState--">finalizeState</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#matches-java.lang.String-">matches</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#reset--">reset</a></code></li>
+<code><a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#currentState--">currentState</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#finalizeState--">finalizeState</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#matches-java.lang.String-">matches</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.rat.analysis.matchers.AbstractHeaderMatcher">
@@ -207,7 +213,7 @@ extends <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleM
<a name="doMatch-java.lang.String-">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>doMatch</h4>
<pre>protected boolean doMatch(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> line)</pre>
@@ -223,6 +229,24 @@ extends <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleM
</dl>
</li>
</ul>
+<a name="reset--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>reset</h4>
+<pre>public void reset()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/rat/analysis/IHeaderMatcher.html#reset--">IHeaderMatcher</a></code></span></div>
+<div class="block">Resets this state <code>State.i</code>.
+ If text is being cached this method should clear that cache.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/rat/analysis/IHeaderMatcher.html#reset--">reset</a></code> in interface <code><a href="../../../../../org/apache/rat/analysis/IHeaderMatcher.html" title="interface in org.apache.rat.analysis">IHeaderMatcher</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#reset--">reset</a></code> in class <code><a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html" title="class in org.apache.rat.analysis.matchers">AbstractSimpleMatcher</a></code></dd>
+</dl>
+</li>
+</ul>
</li>
</ul>
</li>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/annotation/AbstractLicenseAppender.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/annotation/AbstractLicenseAppender.html
index 3441fbe5..4f3dc792 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/annotation/AbstractLicenseAppender.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/annotation/AbstractLicenseAppender.html
@@ -137,7 +137,9 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender--">AbstractLicenseAppender</a></span>()</code> </td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender-org.apache.rat.utils.Log-">AbstractLicenseAppender</a></span>(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log)</code>
+<div class="block">Constructor</div>
+</td>
</tr>
</table>
</li>
@@ -220,13 +222,18 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<!-- -->
</a>
<h3>Constructor Detail</h3>
-<a name="AbstractLicenseAppender--">
+<a name="AbstractLicenseAppender-org.apache.rat.utils.Log-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractLicenseAppender</h4>
-<pre>public AbstractLicenseAppender()</pre>
+<pre>public AbstractLicenseAppender(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log)</pre>
+<div class="block">Constructor</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>log</code> - The log to use.</dd>
+</dl>
</li>
</ul>
</li>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/annotation/ApacheV2LicenseAppender.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/annotation/ApacheV2LicenseAppender.html
index 4dbd0031..6cd9a09e 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/annotation/ApacheV2LicenseAppender.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/annotation/ApacheV2LicenseAppender.html
@@ -139,12 +139,13 @@ extends <a href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.h
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender--">ApacheV2LicenseAppender</a></span>()</code>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-org.apache.rat.utils.Log-">ApacheV2LicenseAppender</a></span>(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log)</code>
<div class="block">Create a license appender with the standard ASF license header.</div>
</td>
</tr>
<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-java.lang.String-">ApacheV2LicenseAppender</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> copyright)</code>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-org.apache.rat.utils.Log-java.lang.String-">ApacheV2LicenseAppender</a></span>(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> copyright)</code>
<div class="block">Create a license appender with the given copyright line.</div>
</td>
</tr>
@@ -196,23 +197,24 @@ extends <a href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.h
<!-- -->
</a>
<h3>Constructor Detail</h3>
-<a name="ApacheV2LicenseAppender--">
+<a name="ApacheV2LicenseAppender-org.apache.rat.utils.Log-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ApacheV2LicenseAppender</h4>
-<pre>public ApacheV2LicenseAppender()</pre>
+<pre>public ApacheV2LicenseAppender(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log)</pre>
<div class="block">Create a license appender with the standard ASF license header.</div>
</li>
</ul>
-<a name="ApacheV2LicenseAppender-java.lang.String-">
+<a name="ApacheV2LicenseAppender-org.apache.rat.utils.Log-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ApacheV2LicenseAppender</h4>
-<pre>public ApacheV2LicenseAppender(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> copyright)</pre>
+<pre>public ApacheV2LicenseAppender(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> copyright)</pre>
<div class="block">Create a license appender with the given copyright line. This should be of
the form "Copyright 2008 Foo"</div>
<dl>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/document/class-use/IDocumentAnalyser.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/document/class-use/IDocumentAnalyser.html
index 2d47661f..3e40a429 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/document/class-use/IDocumentAnalyser.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/document/class-use/IDocumentAnalyser.html
@@ -116,7 +116,8 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/rat/document/IDocumentAnalyser.html" title="interface in org.apache.rat.document">IDocumentAnalyser</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultAnalyserFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-java.util.Collection-">createDefaultAnalyser</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/rat/license/ILicense.html" title="int [...]
+<td class="colLast"><span class="typeNameLabel">DefaultAnalyserFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-org.apache.rat.utils.Log-java.util.Collection-">createDefaultAnalyser</a></span>(<a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses)</code>
<div class="block">Creates a DocumentAnalyser from a collection of ILicenses.</div>
</td>
</tr>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/license/class-use/ILicense.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/license/class-use/ILicense.html
index f83e4200..bb2f029f 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/license/class-use/ILicense.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/license/class-use/ILicense.html
@@ -229,7 +229,8 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/rat/document/IDocumentAnalyser.html" title="interface in org.apache.rat.document">IDocumentAnalyser</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultAnalyserFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-java.util.Collection-">createDefaultAnalyser</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/rat/license/ILicense.html" title="int [...]
+<td class="colLast"><span class="typeNameLabel">DefaultAnalyserFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-org.apache.rat.utils.Log-java.util.Collection-">createDefaultAnalyser</a></span>(<a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses)</code>
<div class="block">Creates a DocumentAnalyser from a collection of ILicenses.</div>
</td>
</tr>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/report/claim/util/LicenseAddingReport.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/report/claim/util/LicenseAddingReport.html
index 9638ab07..1473a5be 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/report/claim/util/LicenseAddingReport.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/report/claim/util/LicenseAddingReport.html
@@ -138,7 +138,8 @@ extends <a href="../../../../../../org/apache/rat/report/AbstractReport.html" ti
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport-java.lang.String-boolean-">LicenseAddingReport</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> pCopyrightMsg,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport-org.apache.rat.utils.Log-java.lang.String-boolean-">LicenseAddingReport</a></span>(<a href="../../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> pCopyrightMsg,
boolean pForced)</code> </td>
</tr>
</table>
@@ -191,13 +192,14 @@ extends <a href="../../../../../../org/apache/rat/report/AbstractReport.html" ti
<!-- -->
</a>
<h3>Constructor Detail</h3>
-<a name="LicenseAddingReport-java.lang.String-boolean-">
+<a name="LicenseAddingReport-org.apache.rat.utils.Log-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LicenseAddingReport</h4>
-<pre>public LicenseAddingReport(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> pCopyrightMsg,
+<pre>public LicenseAddingReport(<a href="../../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> pCopyrightMsg,
boolean pForced)</pre>
</li>
</ul>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/DefaultLog.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/DefaultLog.html
index bb884721..a759bcd1 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/DefaultLog.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/DefaultLog.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -178,6 +178,10 @@ implements <a href="../../../../org/apache/rat/utils/Log.html" title="interface
<div class="block">Writes a message at a specific log level.</div>
</td>
</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/utils/DefaultLog.html#setLevel-org.apache.rat.utils.Log.Level-">setLevel</a></span>(<a href="../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level)</code> </td>
+</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -186,6 +190,13 @@ implements <a href="../../../../org/apache/rat/utils/Log.html" title="interface
<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="htt [...]
</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.rat.utils.Log">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.rat.utils.<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></h3>
+<code><a href="../../../../org/apache/rat/utils/Log.html#debug-java.lang.Object-">debug</a>, <a href="../../../../org/apache/rat/utils/Log.html#error-java.lang.Object-">error</a>, <a href="../../../../org/apache/rat/utils/Log.html#info-java.lang.Object-">info</a>, <a href="../../../../org/apache/rat/utils/Log.html#log-org.apache.rat.utils.Log.Level-java.lang.Object-">log</a>, <a href="../../../../org/apache/rat/utils/Log.html#warn-java.lang.Object-">warn</a></code></li>
+</ul>
</li>
</ul>
</li>
@@ -218,6 +229,15 @@ implements <a href="../../../../org/apache/rat/utils/Log.html" title="interface
<!-- -->
</a>
<h3>Method Detail</h3>
+<a name="setLevel-org.apache.rat.utils.Log.Level-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLevel</h4>
+<pre>public void setLevel(<a href="../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level)</pre>
+</li>
+</ul>
<a name="log-org.apache.rat.utils.Log.Level-java.lang.String-">
<!-- -->
</a>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/Log.Level.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/Log.Level.html
index 3bfbacf3..5da0b799 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/Log.Level.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/Log.Level.html
@@ -224,16 +224,6 @@ the order they are declared.</div>
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
-<a name="OFF">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>OFF</h4>
-<pre>public static final <a href="../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> OFF</pre>
-<div class="block">Log nothing.</div>
-</li>
-</ul>
<a name="DEBUG">
<!-- -->
</a>
@@ -267,13 +257,23 @@ the order they are declared.</div>
<a name="ERROR">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>ERROR</h4>
<pre>public static final <a href="../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> ERROR</pre>
<div class="block">Log error only.</div>
</li>
</ul>
+<a name="OFF">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>OFF</h4>
+<pre>public static final <a href="../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> OFF</pre>
+<div class="block">Log nothing.</div>
+</li>
+</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/Log.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/Log.html
index 53b98d23..54b4fc63 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/Log.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/Log.html
@@ -18,8 +18,8 @@
catch(err) {
}
//-->
-var methods = {"i0":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":18,"i1":18,"i2":18,"i3":18,"i4":6,"i5":18};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
@@ -142,18 +142,39 @@ var activeTableTab = "activeTableTab";
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabE [...]
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/utils/Log.html#debug-java.lang.Object-">debug</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</code> </td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/utils/Log.html#error-java.lang.Object-">error</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</code> </td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/utils/Log.html#info-java.lang.Object-">info</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</code> </td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/utils/Log.html#log-org.apache.rat.utils.Log.Level-java.lang.Object-">log</a></span>(<a href="../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</code> </td>
+</tr>
+<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/utils/Log.html#log-org.apache.rat.utils.Log.Level-java.lang.String-">log</a></span>(<a href="../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> message)</code>
<div class="block">Writes a message at a specific log level.</div>
</td>
</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/utils/Log.html#warn-java.lang.Object-">warn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</code> </td>
+</tr>
</table>
</li>
</ul>
@@ -172,7 +193,7 @@ var activeTableTab = "activeTableTab";
<a name="log-org.apache.rat.utils.Log.Level-java.lang.String-">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>log</h4>
<pre>void log(<a href="../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level,
@@ -185,6 +206,52 @@ var activeTableTab = "activeTableTab";
</dl>
</li>
</ul>
+<a name="log-org.apache.rat.utils.Log.Level-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>log</h4>
+<pre>default void log(<a href="../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</pre>
+</li>
+</ul>
+<a name="debug-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>debug</h4>
+<pre>default void debug(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</pre>
+</li>
+</ul>
+<a name="info-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>info</h4>
+<pre>default void info(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</pre>
+</li>
+</ul>
+<a name="warn-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>warn</h4>
+<pre>default void warn(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</pre>
+</li>
+</ul>
+<a name="error-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>error</h4>
+<pre>default void error(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</pre>
+</li>
+</ul>
</li>
</ul>
</li>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/class-use/Log.Level.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/class-use/Log.Level.html
index 391d3860..0e29b8a4 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/class-use/Log.Level.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/class-use/Log.Level.html
@@ -155,17 +155,26 @@ the order they are declared.</div>
</tr>
<tbody>
<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">Log.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/utils/Log.html#log-org.apache.rat.utils.Log.Level-java.lang.Object-">log</a></span>(<a href="../../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> message)</code> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">DefaultLog.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/utils/DefaultLog.html#log-org.apache.rat.utils.Log.Level-java.lang.String-">log</a></span>(<a href="../../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> msg)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">Log.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/utils/Log.html#log-org.apache.rat.utils.Log.Level-java.lang.String-">log</a></span>(<a href="../../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> message)</code>
<div class="block">Writes a message at a specific log level.</div>
</td>
</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultLog.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/utils/DefaultLog.html#setLevel-org.apache.rat.utils.Log.Level-">setLevel</a></span>(<a href="../../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level)</code> </td>
+</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/rat/utils/ReportingSet.html" title="class in org.apache.rat.utils">ReportingSet</a><<a href="../../../../../org/apache/rat/utils/ReportingSet.html" title="type parameter in ReportingSet">T</a>></code></td>
<td class="colLast"><span class="typeNameLabel">ReportingSet.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/utils/ReportingSet.html#setLogLevel-org.apache.rat.utils.Log.Level-">setLogLevel</a></span>(<a href="../../../../../org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils">Log.Level</a> level)</code>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/class-use/Log.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/class-use/Log.html
index eb7ddf66..a70e4246 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/class-use/Log.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/class-use/Log.html
@@ -87,6 +87,18 @@
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.rat.analysis">org.apache.rat.analysis</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.rat.annotation">org.apache.rat.annotation</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.rat.report.claim.util">org.apache.rat.report.claim.util</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><a href="#org.apache.rat.utils">org.apache.rat.utils</a></td>
<td class="colLast"> </td>
</tr>
@@ -128,6 +140,74 @@
</tbody>
</table>
</li>
+<li class="blockList"><a name="org.apache.rat.analysis">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> in <a href="../../../../../org/apache/rat/analysis/package-summary.html">org.apache.rat.analysis</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/rat/analysis/package-summary.html">org.apache.rat.analysis</a> with parameters of type <a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/rat/document/IDocumentAnalyser.html" title="interface in org.apache.rat.document">IDocumentAnalyser</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultAnalyserFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-org.apache.rat.utils.Log-java.util.Collection-">createDefaultAnalyser</a></span>(<a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses)</code>
+<div class="block">Creates a DocumentAnalyser from a collection of ILicenses.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.rat.annotation">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> in <a href="../../../../../org/apache/rat/annotation/package-summary.html">org.apache.rat.annotation</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/rat/annotation/package-summary.html">org.apache.rat.annotation</a> with parameters of type <a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender-org.apache.rat.utils.Log-">AbstractLicenseAppender</a></span>(<a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log)</code>
+<div class="block">Constructor</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-org.apache.rat.utils.Log-">ApacheV2LicenseAppender</a></span>(<a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log)</code>
+<div class="block">Create a license appender with the standard ASF license header.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-org.apache.rat.utils.Log-java.lang.String-">ApacheV2LicenseAppender</a></span>(<a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> copyright)</code>
+<div class="block">Create a license appender with the given copyright line.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.rat.report.claim.util">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> in <a href="../../../../../org/apache/rat/report/claim/util/package-summary.html">org.apache.rat.report.claim.util</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/rat/report/claim/util/package-summary.html">org.apache.rat.report.claim.util</a> with parameters of type <a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport-org.apache.rat.utils.Log-java.lang.String-boolean-">LicenseAddingReport</a></span>(<a href="../../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> pCopyrightMsg,
+ boolean pForced)</code> </td>
+</tr>
+</tbody>
+</table>
+</li>
<li class="blockList"><a name="org.apache.rat.utils">
<!-- -->
</a>
diff --git a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/package-use.html b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/package-use.html
index e1f57d44..2e24f9fb 100644
--- a/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/package-use.html
+++ b/rat0161/apache-rat-core/apidocs/org/apache/rat/utils/package-use.html
@@ -87,6 +87,18 @@
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.rat.analysis">org.apache.rat.analysis</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.rat.annotation">org.apache.rat.annotation</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.rat.report.claim.util">org.apache.rat.report.claim.util</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><a href="#org.apache.rat.utils">org.apache.rat.utils</a></td>
<td class="colLast"> </td>
</tr>
@@ -118,6 +130,57 @@
</tbody>
</table>
</li>
+<li class="blockList"><a name="org.apache.rat.analysis">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/rat/utils/package-summary.html">org.apache.rat.utils</a> used by <a href="../../../../org/apache/rat/analysis/package-summary.html">org.apache.rat.analysis</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/rat/utils/class-use/Log.html#org.apache.rat.analysis">Log</a>
+<div class="block">The definition of logging for the core.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.rat.annotation">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/rat/utils/package-summary.html">org.apache.rat.utils</a> used by <a href="../../../../org/apache/rat/annotation/package-summary.html">org.apache.rat.annotation</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/rat/utils/class-use/Log.html#org.apache.rat.annotation">Log</a>
+<div class="block">The definition of logging for the core.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.rat.report.claim.util">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/rat/utils/package-summary.html">org.apache.rat.utils</a> used by <a href="../../../../org/apache/rat/report/claim/util/package-summary.html">org.apache.rat.report.claim.util</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/rat/utils/class-use/Log.html#org.apache.rat.report.claim.util">Log</a>
+<div class="block">The definition of logging for the core.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
<li class="blockList"><a name="org.apache.rat.utils">
<!-- -->
</a>
diff --git a/rat0161/apache-rat-core/jira-report.html b/rat0161/apache-rat-core/jira-report.html
index 2b046c11..4e56221b 100644
--- a/rat0161/apache-rat-core/jira-report.html
+++ b/rat0161/apache-rat-core/jira-report.html
@@ -250,13 +250,21 @@ JIRA Report
<td>Closed</td></tr>
<tr class="b">
<td>0.16.1</td>
+<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-346">RAT-346</a></td>
+<td>scan</td>
+<td>WARN in case user defined License family has the same name as existing one</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>0.16.1</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-342">RAT-342</a></td>
<td></td>
<td>Use Maven wrapper in RAT build</td>
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-328">RAT-328</a></td>
<td>engine</td>
@@ -264,7 +272,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-326">RAT-326</a></td>
<td>site</td>
@@ -272,7 +280,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-315">RAT-315</a></td>
<td>build</td>
@@ -280,7 +288,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-314">RAT-314</a></td>
<td>maven</td>
@@ -288,7 +296,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-335">RAT-335</a></td>
<td></td>
@@ -296,7 +304,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-321">RAT-321</a></td>
<td>engine</td>
@@ -304,7 +312,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-320">RAT-320</a></td>
<td>cli</td>
@@ -312,7 +320,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-317">RAT-317</a></td>
<td></td>
@@ -320,7 +328,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-311">RAT-311</a></td>
<td></td>
@@ -328,7 +336,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-329">RAT-329</a></td>
<td>engine</td>
@@ -336,7 +344,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-322">RAT-322</a></td>
<td>cli, maven</td>
@@ -344,7 +352,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-264">RAT-264</a></td>
<td></td>
@@ -352,7 +360,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-251">RAT-251</a></td>
<td></td>
@@ -360,7 +368,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-338">RAT-338</a></td>
<td></td>
@@ -368,7 +376,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-316">RAT-316</a></td>
<td>engine</td>
@@ -376,7 +384,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-312">RAT-312</a></td>
<td></td>
@@ -384,7 +392,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-309">RAT-309</a></td>
<td></td>
@@ -392,7 +400,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-307">RAT-307</a></td>
<td></td>
@@ -400,7 +408,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-306">RAT-306</a></td>
<td>site</td>
@@ -408,7 +416,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-310">RAT-310</a></td>
<td></td>
@@ -416,7 +424,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-305">RAT-305</a></td>
<td></td>
@@ -424,7 +432,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-298">RAT-298</a></td>
<td></td>
@@ -432,7 +440,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-291">RAT-291</a></td>
<td></td>
@@ -440,7 +448,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-290">RAT-290</a></td>
<td></td>
@@ -448,7 +456,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-283">RAT-283</a></td>
<td></td>
@@ -456,7 +464,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-281">RAT-281</a></td>
<td></td>
@@ -464,7 +472,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-275">RAT-275</a></td>
<td></td>
@@ -472,7 +480,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-273">RAT-273</a></td>
<td></td>
@@ -480,7 +488,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-268">RAT-268</a></td>
<td>maven</td>
@@ -488,7 +496,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-258">RAT-258</a></td>
<td></td>
@@ -496,7 +504,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-257">RAT-257</a></td>
<td>cli</td>
@@ -504,7 +512,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-212">RAT-212</a></td>
<td></td>
@@ -512,7 +520,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-207">RAT-207</a></td>
<td>maven</td>
@@ -520,7 +528,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-158">RAT-158</a></td>
<td></td>
@@ -528,7 +536,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-304">RAT-304</a></td>
<td></td>
@@ -536,7 +544,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-297">RAT-297</a></td>
<td></td>
@@ -544,7 +552,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-289">RAT-289</a></td>
<td></td>
@@ -552,7 +560,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-287">RAT-287</a></td>
<td>site</td>
@@ -560,7 +568,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-285">RAT-285</a></td>
<td></td>
@@ -568,7 +576,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-277">RAT-277</a></td>
<td></td>
@@ -576,7 +584,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-274">RAT-274</a></td>
<td></td>
@@ -584,7 +592,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-270">RAT-270</a></td>
<td></td>
@@ -592,7 +600,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-269">RAT-269</a></td>
<td></td>
@@ -600,7 +608,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-266">RAT-266</a></td>
<td>maven</td>
@@ -608,7 +616,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-260">RAT-260</a></td>
<td></td>
@@ -616,7 +624,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-250">RAT-250</a></td>
<td></td>
@@ -624,7 +632,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-244">RAT-244</a></td>
<td></td>
@@ -632,7 +640,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-118">RAT-118</a></td>
<td>maven</td>
@@ -640,7 +648,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-262">RAT-262</a></td>
<td>scan</td>
@@ -648,7 +656,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-252">RAT-252</a></td>
<td></td>
@@ -656,7 +664,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-288">RAT-288</a></td>
<td>maven</td>
@@ -664,7 +672,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-279">RAT-279</a></td>
<td></td>
@@ -672,7 +680,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-271">RAT-271</a></td>
<td></td>
@@ -680,7 +688,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-267">RAT-267</a></td>
<td>reports</td>
@@ -688,7 +696,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-254">RAT-254</a></td>
<td></td>
@@ -696,7 +704,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-242">RAT-242</a></td>
<td>reports</td>
@@ -704,7 +712,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-234">RAT-234</a></td>
<td></td>
@@ -712,7 +720,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-230">RAT-230</a></td>
<td>maven</td>
@@ -720,7 +728,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-229">RAT-229</a></td>
<td></td>
@@ -728,7 +736,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-228">RAT-228</a></td>
<td>antlib</td>
@@ -736,7 +744,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-224">RAT-224</a></td>
<td></td>
@@ -744,7 +752,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-222">RAT-222</a></td>
<td></td>
@@ -752,7 +760,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-245">RAT-245</a></td>
<td></td>
@@ -760,7 +768,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-243">RAT-243</a></td>
<td>maven</td>
@@ -768,7 +776,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-241">RAT-241</a></td>
<td>maven</td>
@@ -776,7 +784,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-233">RAT-233</a></td>
<td></td>
@@ -784,7 +792,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-232">RAT-232</a></td>
<td></td>
@@ -792,7 +800,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-231">RAT-231</a></td>
<td></td>
@@ -800,7 +808,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-227">RAT-227</a></td>
<td>site</td>
@@ -808,7 +816,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-226">RAT-226</a></td>
<td>antlib</td>
@@ -816,7 +824,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-223">RAT-223</a></td>
<td></td>
@@ -824,7 +832,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-221">RAT-221</a></td>
<td>docs</td>
@@ -832,7 +840,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-218">RAT-218</a></td>
<td>maven</td>
@@ -840,7 +848,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-217">RAT-217</a></td>
<td></td>
@@ -848,7 +856,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-216">RAT-216</a></td>
<td></td>
@@ -856,7 +864,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-215">RAT-215</a></td>
<td></td>
@@ -864,7 +872,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-214">RAT-214</a></td>
<td></td>
@@ -872,7 +880,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-188">RAT-188</a></td>
<td>maven</td>
@@ -880,7 +888,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-180">RAT-180</a></td>
<td></td>
@@ -888,7 +896,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-179">RAT-179</a></td>
<td>antlib, maven</td>
@@ -896,7 +904,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-177">RAT-177</a></td>
<td></td>
@@ -904,21 +912,13 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-175">RAT-175</a></td>
<td></td>
<td>SourceCodeManagementSystems.hasIgnoreFile() should return boolean</td>
<td>Bug</td>
<td>Fixed</td>
-<td>Resolved</td></tr>
-<tr class="a">
-<td>0.12</td>
-<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-174">RAT-174</a></td>
-<td></td>
-<td>CDDL1License still very slow</td>
-<td>Bug</td>
-<td>Fixed</td>
<td>Resolved</td></tr></table></section>
</div>
</div>
diff --git a/rat0161/apache-rat-core/pmd.html b/rat0161/apache-rat-core/pmd.html
index 702e24fd..5ca05193 100644
--- a/rat0161/apache-rat-core/pmd.html
+++ b/rat0161/apache-rat-core/pmd.html
@@ -143,7 +143,7 @@ PMD Results
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_design.html#collapsibleifstatements">CollapsibleIfStatements</a></td>
<td>These nested if statements could be combined</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L233">233</a>–<a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L241">241</a></td></tr></table></section><section>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L241">241</a>–<a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L249">249</a></td></tr></table></section><section>
<h5><a name="org.2Fapache.2Frat.2Fconfiguration.2Fbuilders.2FChildContainerBuilder.java"></a>org/apache/rat/configuration/builders/ChildContainerBuilder.java</h5><a name="org.2Fapache.2Frat.2Fconfiguration.2Fbuilders.2FChildContainerBuilder.java"></a>
<table border="0" class="bodyTable">
<tr class="a">
@@ -187,11 +187,11 @@ PMD Results
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#unnecessarymodifier">UnnecessaryModifier</a></td>
<td>Unnecessary modifier 'public' on enum 'Level': the enum is declared in an interface type</td>
-<td><a href="./xref/org/apache/rat/utils/Log.html#L29">29</a>–<a href="./xref/org/apache/rat/utils/Log.html#L49">49</a></td></tr>
+<td><a href="./xref/org/apache/rat/utils/Log.html#L29">29</a>–<a href="./xref/org/apache/rat/utils/Log.html#L50">50</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#unnecessarysemicolon">UnnecessarySemicolon</a></td>
<td>Unnecessary semicolon</td>
-<td><a href="./xref/org/apache/rat/utils/Log.html#L49">49</a></td></tr></table></section><section>
+<td><a href="./xref/org/apache/rat/utils/Log.html#L50">50</a></td></tr></table></section><section>
<h5><a name="org.2Fapache.2Frat.2Futils.2FReportingSet.java"></a>org/apache/rat/utils/ReportingSet.java</h5><a name="org.2Fapache.2Frat.2Futils.2FReportingSet.java"></a>
<table border="0" class="bodyTable">
<tr class="a">
@@ -203,6 +203,16 @@ PMD Results
<td>Useless qualified this usage in the same class.</td>
<td><a href="./xref/org/apache/rat/utils/ReportingSet.html#L131">131</a></td></tr></table></section></section><section>
<h4><a name="Priority_4"></a>Priority 4</h4><a name="Priority_4"></a><section>
+<h5><a name="org.2Fapache.2Frat.2Fanalysis.2FDefaultAnalyserFactory.java"></a>org/apache/rat/analysis/DefaultAnalyserFactory.java</h5><a name="org.2Fapache.2Frat.2Fanalysis.2FDefaultAnalyserFactory.java"></a>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Rule</th>
+<th>Violation</th>
+<th>Line</th></tr>
+<tr class="b">
+<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#unnecessaryimport">UnnecessaryImport</a></td>
+<td>Unused import 'org.apache.rat.utils.Log.Level'</td>
+<td><a href="./xref/org/apache/rat/analysis/DefaultAnalyserFactory.html#L33">33</a></td></tr></table></section><section>
<h5><a name="org.2Fapache.2Frat.2Fanalysis.2Fmatchers.2FSPDXMatcherFactory.java"></a>org/apache/rat/analysis/matchers/SPDXMatcherFactory.java</h5><a name="org.2Fapache.2Frat.2Fanalysis.2Fmatchers.2FSPDXMatcherFactory.java"></a>
<table border="0" class="bodyTable">
<tr class="a">
@@ -222,39 +232,39 @@ PMD Results
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L533">533</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L541">541</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L540">540</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L548">548</a></td></tr>
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L540">540</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L548">548</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L549">549</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L557">557</a></td></tr>
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L550">550</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L558">558</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L560">560</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L568">568</a></td></tr>
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L589">589</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L597">597</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L605">605</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L613">613</a></td></tr>
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L605">605</a></td></tr></table></section><section>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L613">613</a></td></tr></table></section><section>
<h5><a name="org.2Fapache.2Frat.2Flicense.2FLicenseFamilySetFactory.java"></a>org/apache/rat/license/LicenseFamilySetFactory.java</h5><a name="org.2Fapache.2Frat.2Flicense.2FLicenseFamilySetFactory.java"></a>
<table border="0" class="bodyTable">
<tr class="a">
@@ -274,8 +284,30 @@ PMD Results
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
-<td><a href="./xref/org/apache/rat/license/LicenseSetFactory.html#L221">221</a></td></tr></table></section></section></section><section>
+<td><a href="./xref/org/apache/rat/license/LicenseSetFactory.html#L221">221</a></td></tr></table></section><section>
+<h5><a name="org.2Fapache.2Frat.2Freport.2Fclaim.2Fimpl.2Fxml.2FSimpleXmlClaimReporter.java"></a>org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java</h5><a name="org.2Fapache.2Frat.2Freport.2Fclaim.2Fimpl.2Fxml.2FSimpleXmlClaimReporter.java"></a>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Rule</th>
+<th>Violation</th>
+<th>Line</th></tr>
+<tr class="b">
+<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#unnecessaryimport">UnnecessaryImport</a></td>
+<td>Unused import 'org.apache.rat.report.xml.writer.impl.base.XmlWriter'</td>
+<td><a href="./xref/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html#L27">27</a></td></tr></table></section></section></section><section>
<h3><a name="Files"></a>Files</h3><a name="Files"></a><section>
+<h4><a name="org.2Fapache.2Frat.2Fanalysis.2FDefaultAnalyserFactory.java"></a>org/apache/rat/analysis/DefaultAnalyserFactory.java</h4><a name="org.2Fapache.2Frat.2Fanalysis.2FDefaultAnalyserFactory.java"></a>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Rule</th>
+<th>Violation</th>
+<th>Priority</th>
+<th>Line</th></tr>
+<tr class="b">
+<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#unnecessaryimport">UnnecessaryImport</a></td>
+<td>Unused import 'org.apache.rat.utils.Log.Level'</td>
+<td>4</td>
+<td><a href="./xref/org/apache/rat/analysis/DefaultAnalyserFactory.html#L33">33</a></td></tr></table></section><section>
<h4><a name="org.2Fapache.2Frat.2Fanalysis.2FHeaderCheckWorker.java"></a>org/apache/rat/analysis/HeaderCheckWorker.java</h4><a name="org.2Fapache.2Frat.2Fanalysis.2FHeaderCheckWorker.java"></a>
<table border="0" class="bodyTable">
<tr class="a">
@@ -316,52 +348,52 @@ PMD Results
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_design.html#collapsibleifstatements">CollapsibleIfStatements</a></td>
<td>These nested if statements could be combined</td>
<td>3</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L233">233</a>–<a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L241">241</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L241">241</a>–<a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L249">249</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
<td>4</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L533">533</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L541">541</a></td></tr>
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
<td>4</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L540">540</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L548">548</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
<td>4</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L540">540</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L548">548</a></td></tr>
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
<td>4</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L549">549</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L557">557</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
<td>4</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L550">550</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L558">558</a></td></tr>
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
<td>4</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L560">560</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L568">568</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
<td>4</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L589">589</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L597">597</a></td></tr>
<tr class="b">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
<td>4</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L605">605</a></td></tr>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L613">613</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#uselessparentheses">UselessParentheses</a></td>
<td>Useless parentheses.</td>
<td>4</td>
-<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L605">605</a></td></tr></table></section><section>
+<td><a href="./xref/org/apache/rat/annotation/AbstractLicenseAppender.html#L613">613</a></td></tr></table></section><section>
<h4><a name="org.2Fapache.2Frat.2Fconfiguration.2Fbuilders.2FChildContainerBuilder.java"></a>org/apache/rat/configuration/builders/ChildContainerBuilder.java</h4><a name="org.2Fapache.2Frat.2Fconfiguration.2Fbuilders.2FChildContainerBuilder.java"></a>
<table border="0" class="bodyTable">
<tr class="a">
@@ -427,6 +459,18 @@ PMD Results
<td>Useless parentheses.</td>
<td>4</td>
<td><a href="./xref/org/apache/rat/license/LicenseSetFactory.html#L221">221</a></td></tr></table></section><section>
+<h4><a name="org.2Fapache.2Frat.2Freport.2Fclaim.2Fimpl.2Fxml.2FSimpleXmlClaimReporter.java"></a>org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java</h4><a name="org.2Fapache.2Frat.2Freport.2Fclaim.2Fimpl.2Fxml.2FSimpleXmlClaimReporter.java"></a>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Rule</th>
+<th>Violation</th>
+<th>Priority</th>
+<th>Line</th></tr>
+<tr class="b">
+<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#unnecessaryimport">UnnecessaryImport</a></td>
+<td>Unused import 'org.apache.rat.report.xml.writer.impl.base.XmlWriter'</td>
+<td>4</td>
+<td><a href="./xref/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html#L27">27</a></td></tr></table></section><section>
<h4><a name="org.2Fapache.2Frat.2Futils.2FLog.java"></a>org/apache/rat/utils/Log.java</h4><a name="org.2Fapache.2Frat.2Futils.2FLog.java"></a>
<table border="0" class="bodyTable">
<tr class="a">
@@ -438,12 +482,12 @@ PMD Results
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#unnecessarymodifier">UnnecessaryModifier</a></td>
<td>Unnecessary modifier 'public' on enum 'Level': the enum is declared in an interface type</td>
<td>3</td>
-<td><a href="./xref/org/apache/rat/utils/Log.html#L29">29</a>–<a href="./xref/org/apache/rat/utils/Log.html#L49">49</a></td></tr>
+<td><a href="./xref/org/apache/rat/utils/Log.html#L29">29</a>–<a href="./xref/org/apache/rat/utils/Log.html#L50">50</a></td></tr>
<tr class="a">
<td align="left"><a class="externalLink" href="https://pmd.github.io/pmd-6.55.0/pmd_rules_java_codestyle.html#unnecessarysemicolon">UnnecessarySemicolon</a></td>
<td>Unnecessary semicolon</td>
<td>3</td>
-<td><a href="./xref/org/apache/rat/utils/Log.html#L49">49</a></td></tr></table></section><section>
+<td><a href="./xref/org/apache/rat/utils/Log.html#L50">50</a></td></tr></table></section><section>
<h4><a name="org.2Fapache.2Frat.2Futils.2FReportingSet.java"></a>org/apache/rat/utils/ReportingSet.java</h4><a name="org.2Fapache.2Frat.2Futils.2FReportingSet.java"></a>
<table border="0" class="bodyTable">
<tr class="a">
diff --git a/rat0161/apache-rat-core/rat-report.html b/rat0161/apache-rat-core/rat-report.html
index f1f782d6..591a0aff 100644
--- a/rat0161/apache-rat-core/rat-report.html
+++ b/rat0161/apache-rat-core/rat-report.html
@@ -118,7 +118,7 @@ Rat (Release Audit Tool) results
*****************************************************
Summary
-------
-Generated at: 2024-01-16T10:49:11+01:00
+Generated at: 2024-01-16T22:15:26+01:00
Notes: 2
Binaries: 3
diff --git a/rat0161/apache-rat-core/xref-test/org/apache/rat/ReportConfigurationTest.html b/rat0161/apache-rat-core/xref-test/org/apache/rat/ReportConfigurationTest.html
index 49ad22b5..d5e1ba8e 100644
--- a/rat0161/apache-rat-core/xref-test/org/apache/rat/ReportConfigurationTest.html
+++ b/rat0161/apache-rat-core/xref-test/org/apache/rat/ReportConfigurationTest.html
@@ -549,51 +549,50 @@
<a class="jxr_linenumber" name="L541" href="#L541">541</a> <em class="jxr_javadoccomment"> * @param config The configuration to test.</em>
<a class="jxr_linenumber" name="L542" href="#L542">542</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L543" href="#L543">543</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> validateDefault(ReportConfiguration config) {
-<a class="jxr_linenumber" name="L544" href="#L544">544</a> <em class="jxr_comment">//config.validate( System.err::println );</em>
-<a class="jxr_linenumber" name="L545" href="#L545">545</a> assertThat(config.isAddingLicenses()).isFalse();
-<a class="jxr_linenumber" name="L546" href="#L546">546</a> assertThat(config.isAddingLicensesForced()).isFalse();
-<a class="jxr_linenumber" name="L547" href="#L547">547</a> assertThat(config.getCopyrightMessage()).isNull();
-<a class="jxr_linenumber" name="L548" href="#L548">548</a> assertThat(config.getInputFileFilter()).isNull();
-<a class="jxr_linenumber" name="L549" href="#L549">549</a> assertThat(config.isStyleReport()).isTrue();
-<a class="jxr_linenumber" name="L550" href="#L550">550</a> assertThat(config.getStyleSheet()).isNotNull().withFailMessage(<span class="jxr_string">"Stylesheet should not be null"</span>);
-<a class="jxr_linenumber" name="L551" href="#L551">551</a> assertThat(config.getDirectoryFilter()).isNotNull().withFailMessage(<span class="jxr_string">"Directory filter should not be null"</span>);
-<a class="jxr_linenumber" name="L552" href="#L552">552</a> assertThat(config.getDirectoryFilter()).isExactlyInstanceOf(NameBasedHiddenFileFilter.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L553" href="#L553">553</a>
-<a class="jxr_linenumber" name="L554" href="#L554">554</a> validateDefaultApprovedLicenses(config);
-<a class="jxr_linenumber" name="L555" href="#L555">555</a> validateDefaultLicenseFamilies(config);
-<a class="jxr_linenumber" name="L556" href="#L556">556</a> validateDefaultLicenses(config);
-<a class="jxr_linenumber" name="L557" href="#L557">557</a> }
-<a class="jxr_linenumber" name="L558" href="#L558">558</a>
-<a class="jxr_linenumber" name="L559" href="#L559">559</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> LoggingCapture <strong class="jxr_keyword">implements</strong> Log {
-<a class="jxr_linenumber" name="L560" href="#L560">560</a>
-<a class="jxr_linenumber" name="L561" href="#L561">561</a> StringBuilder captured = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a class="jxr_linenumber" name="L562" href="#L562">562</a>
-<a class="jxr_linenumber" name="L563" href="#L563">563</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clear() {
-<a class="jxr_linenumber" name="L564" href="#L564">564</a> captured = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a class="jxr_linenumber" name="L565" href="#L565">565</a> }
-<a class="jxr_linenumber" name="L566" href="#L566">566</a>
-<a class="jxr_linenumber" name="L567" href="#L567">567</a> @Override
-<a class="jxr_linenumber" name="L568" href="#L568">568</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(Level level, String msg) {
-<a class="jxr_linenumber" name="L569" href="#L569">569</a> captured.append( String.format(<span class="jxr_string">"%s: %s%n"</span>, level, msg));
-<a class="jxr_linenumber" name="L570" href="#L570">570</a> }
-<a class="jxr_linenumber" name="L571" href="#L571">571</a>
-<a class="jxr_linenumber" name="L572" href="#L572">572</a> }
-<a class="jxr_linenumber" name="L573" href="#L573">573</a>
-<a class="jxr_linenumber" name="L574" href="#L574">574</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> OutputStreamIntercepter <strong class="jxr_keyword">extends</strong> OutputStream {
-<a class="jxr_linenumber" name="L575" href="#L575">575</a>
-<a class="jxr_linenumber" name="L576" href="#L576">576</a> <strong class="jxr_keyword">int</strong> closeCount = 0;
-<a class="jxr_linenumber" name="L577" href="#L577">577</a>
-<a class="jxr_linenumber" name="L578" href="#L578">578</a> @Override
-<a class="jxr_linenumber" name="L579" href="#L579">579</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">int</strong> arg0) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L580" href="#L580">580</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException();
-<a class="jxr_linenumber" name="L581" href="#L581">581</a> }
-<a class="jxr_linenumber" name="L582" href="#L582">582</a>
-<a class="jxr_linenumber" name="L583" href="#L583">583</a> @Override
-<a class="jxr_linenumber" name="L584" href="#L584">584</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() {
-<a class="jxr_linenumber" name="L585" href="#L585">585</a> ++closeCount;
-<a class="jxr_linenumber" name="L586" href="#L586">586</a> }
-<a class="jxr_linenumber" name="L587" href="#L587">587</a> }
-<a class="jxr_linenumber" name="L588" href="#L588">588</a> }
+<a class="jxr_linenumber" name="L544" href="#L544">544</a> assertThat(config.isAddingLicenses()).isFalse();
+<a class="jxr_linenumber" name="L545" href="#L545">545</a> assertThat(config.isAddingLicensesForced()).isFalse();
+<a class="jxr_linenumber" name="L546" href="#L546">546</a> assertThat(config.getCopyrightMessage()).isNull();
+<a class="jxr_linenumber" name="L547" href="#L547">547</a> assertThat(config.getInputFileFilter()).isNull();
+<a class="jxr_linenumber" name="L548" href="#L548">548</a> assertThat(config.isStyleReport()).isTrue();
+<a class="jxr_linenumber" name="L549" href="#L549">549</a> assertThat(config.getStyleSheet()).isNotNull().withFailMessage(<span class="jxr_string">"Stylesheet should not be null"</span>);
+<a class="jxr_linenumber" name="L550" href="#L550">550</a> assertThat(config.getDirectoryFilter()).isNotNull().withFailMessage(<span class="jxr_string">"Directory filter should not be null"</span>);
+<a class="jxr_linenumber" name="L551" href="#L551">551</a> assertThat(config.getDirectoryFilter()).isExactlyInstanceOf(NameBasedHiddenFileFilter.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L552" href="#L552">552</a>
+<a class="jxr_linenumber" name="L553" href="#L553">553</a> validateDefaultApprovedLicenses(config);
+<a class="jxr_linenumber" name="L554" href="#L554">554</a> validateDefaultLicenseFamilies(config);
+<a class="jxr_linenumber" name="L555" href="#L555">555</a> validateDefaultLicenses(config);
+<a class="jxr_linenumber" name="L556" href="#L556">556</a> }
+<a class="jxr_linenumber" name="L557" href="#L557">557</a>
+<a class="jxr_linenumber" name="L558" href="#L558">558</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> LoggingCapture <strong class="jxr_keyword">implements</strong> Log {
+<a class="jxr_linenumber" name="L559" href="#L559">559</a>
+<a class="jxr_linenumber" name="L560" href="#L560">560</a> StringBuilder captured = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a class="jxr_linenumber" name="L561" href="#L561">561</a>
+<a class="jxr_linenumber" name="L562" href="#L562">562</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clear() {
+<a class="jxr_linenumber" name="L563" href="#L563">563</a> captured = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a class="jxr_linenumber" name="L564" href="#L564">564</a> }
+<a class="jxr_linenumber" name="L565" href="#L565">565</a>
+<a class="jxr_linenumber" name="L566" href="#L566">566</a> @Override
+<a class="jxr_linenumber" name="L567" href="#L567">567</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(Level level, String msg) {
+<a class="jxr_linenumber" name="L568" href="#L568">568</a> captured.append( String.format(<span class="jxr_string">"%s: %s%n"</span>, level, msg));
+<a class="jxr_linenumber" name="L569" href="#L569">569</a> }
+<a class="jxr_linenumber" name="L570" href="#L570">570</a>
+<a class="jxr_linenumber" name="L571" href="#L571">571</a> }
+<a class="jxr_linenumber" name="L572" href="#L572">572</a>
+<a class="jxr_linenumber" name="L573" href="#L573">573</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> OutputStreamIntercepter <strong class="jxr_keyword">extends</strong> OutputStream {
+<a class="jxr_linenumber" name="L574" href="#L574">574</a>
+<a class="jxr_linenumber" name="L575" href="#L575">575</a> <strong class="jxr_keyword">int</strong> closeCount = 0;
+<a class="jxr_linenumber" name="L576" href="#L576">576</a>
+<a class="jxr_linenumber" name="L577" href="#L577">577</a> @Override
+<a class="jxr_linenumber" name="L578" href="#L578">578</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">int</strong> arg0) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L579" href="#L579">579</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException();
+<a class="jxr_linenumber" name="L580" href="#L580">580</a> }
+<a class="jxr_linenumber" name="L581" href="#L581">581</a>
+<a class="jxr_linenumber" name="L582" href="#L582">582</a> @Override
+<a class="jxr_linenumber" name="L583" href="#L583">583</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() {
+<a class="jxr_linenumber" name="L584" href="#L584">584</a> ++closeCount;
+<a class="jxr_linenumber" name="L585" href="#L585">585</a> }
+<a class="jxr_linenumber" name="L586" href="#L586">586</a> }
+<a class="jxr_linenumber" name="L587" href="#L587">587</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref-test/org/apache/rat/ReportTest.html b/rat0161/apache-rat-core/xref-test/org/apache/rat/ReportTest.html
index 9e883f9a..0250df1f 100644
--- a/rat0161/apache-rat-core/xref-test/org/apache/rat/ReportTest.html
+++ b/rat0161/apache-rat-core/xref-test/org/apache/rat/ReportTest.html
@@ -42,54 +42,59 @@
<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">import</strong> org.apache.commons.cli.DefaultParser;
<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">import</strong> org.apache.commons.cli.ParseException;
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">import</strong> org.apache.commons.io.FileUtils;
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
-<a class="jxr_linenumber" name="L38" href="#L38">38</a>
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="ReportTest" href="../../../org/apache/rat/ReportTest.html#ReportTest">ReportTest</a> {
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> @Test
-<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> parseExclusionsForCLIUsage() {
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">final</strong> FilenameFilter filter = Report
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> .parseExclusions(Arrays.asList(<span class="jxr_string">""</span>, <span class="jxr_string">" # foo/bar"</span>, <span class="jxr_string">"foo"</span>, <span class="jxr_string">"##"</span>, <span class="jxr_string">" ./foo/bar"</span>));
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> assertNotNull(filter);
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> }
-<a class="jxr_linenumber" name="L46" href="#L46">46</a>
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> @Test
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultConfiguration() <strong class="jxr_keyword">throws</strong> ParseException, IOException {
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> String[] empty = {};
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> CommandLine cl = <strong class="jxr_keyword">new</strong> DefaultParser().parse(Report.buildOptions(), empty);
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> ReportConfiguration config = Report.createConfiguration(<span class="jxr_string">""</span>, cl);
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> ReportConfigurationTest.validateDefault(config);
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> }
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> @Test
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOutputOption() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> CommandLine cl = <strong class="jxr_keyword">new</strong> DefaultParser().parse(Report.buildOptions(), <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"-o"</span>, <span class="jxr_string">"target/test"</span> });
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> ReportConfiguration config = Report.createConfiguration(<span class="jxr_string">"target/test-classes/elements"</span>, cl);
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> Reporter.report(config);
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> File output = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"target/test"</span>);
-<a class="jxr_linenumber" name="L61" href="#L61">61</a> assertTrue(output.exists());
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> String content = FileUtils.readFileToString(output, StandardCharsets.UTF_8);
-<a class="jxr_linenumber" name="L63" href="#L63">63</a> assertTrue(content.contains(<span class="jxr_string">"2 Unknown Licenses"</span>));
-<a class="jxr_linenumber" name="L64" href="#L64">64</a> assertTrue(content.contains(<span class="jxr_string">"target/test-classes/elements/Source.java"</span>));
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> assertTrue(content.contains(<span class="jxr_string">"target/test-classes/elements/sub/Empty.txt"</span>));
-<a class="jxr_linenumber" name="L66" href="#L66">66</a> }
-<a class="jxr_linenumber" name="L67" href="#L67">67</a>
-<a class="jxr_linenumber" name="L68" href="#L68">68</a> @Test
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultOutput() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> PrintStream origin = System.out;
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> File output = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"target/sysout"</span>);
-<a class="jxr_linenumber" name="L72" href="#L72">72</a> System.setOut(<strong class="jxr_keyword">new</strong> PrintStream(output));
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> CommandLine cl = <strong class="jxr_keyword">new</strong> DefaultParser().parse(Report.buildOptions(), <strong class="jxr_keyword">new</strong> String[]{});
-<a class="jxr_linenumber" name="L74" href="#L74">74</a> ReportConfiguration config = Report.createConfiguration(<span class="jxr_string">"target/test-classes/elements"</span>, cl);
-<a class="jxr_linenumber" name="L75" href="#L75">75</a> Reporter.report(config);
-<a class="jxr_linenumber" name="L76" href="#L76">76</a> assertTrue(output.exists());
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> String content = FileUtils.readFileToString(output, StandardCharsets.UTF_8);
-<a class="jxr_linenumber" name="L78" href="#L78">78</a> assertTrue(content.contains(<span class="jxr_string">"2 Unknown Licenses"</span>));
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> assertTrue(content.contains(<span class="jxr_string">"target/test-classes/elements/Source.java"</span>));
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> assertTrue(content.contains(<span class="jxr_string">"target/test-classes/elements/sub/Empty.txt"</span>));
-<a class="jxr_linenumber" name="L81" href="#L81">81</a> System.setOut(origin);
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> }
-<a class="jxr_linenumber" name="L83" href="#L83">83</a>
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> }
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Disabled;
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="ReportTest" href="../../../org/apache/rat/ReportTest.html#ReportTest">ReportTest</a> {
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> @Test
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> parseExclusionsForCLIUsage() {
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">final</strong> FilenameFilter filter = Report
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> .parseExclusions(Arrays.asList(<span class="jxr_string">""</span>, <span class="jxr_string">" # foo/bar"</span>, <span class="jxr_string">"foo"</span>, <span class="jxr_string">"##"</span>, <span class="jxr_string">" ./foo/bar"</span>));
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> assertNotNull(filter);
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> }
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> @Test
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultConfiguration() <strong class="jxr_keyword">throws</strong> ParseException, IOException {
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> String[] empty = {};
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> CommandLine cl = <strong class="jxr_keyword">new</strong> DefaultParser().parse(Report.buildOptions(), empty);
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> ReportConfiguration config = Report.createConfiguration(<span class="jxr_string">""</span>, cl);
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> ReportConfigurationTest.validateDefault(config);
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> }
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> @Test
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOutputOption() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L58" href="#L58">58</a> CommandLine cl = <strong class="jxr_keyword">new</strong> DefaultParser().parse(Report.buildOptions(), <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"-o"</span>, <span class="jxr_string">"target/test"</span> });
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> ReportConfiguration config = Report.createConfiguration(<span class="jxr_string">"target/test-classes/elements"</span>, cl);
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> Reporter.report(config);
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> File output = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"target/test"</span>);
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> assertTrue(output.exists());
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> String content = FileUtils.readFileToString(output, StandardCharsets.UTF_8);
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> assertTrue(content.contains(<span class="jxr_string">"2 Unknown Licenses"</span>));
+<a class="jxr_linenumber" name="L65" href="#L65">65</a> assertTrue(content.contains(<span class="jxr_string">"target/test-classes/elements/Source.java"</span>));
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> assertTrue(content.contains(<span class="jxr_string">"target/test-classes/elements/sub/Empty.txt"</span>));
+<a class="jxr_linenumber" name="L67" href="#L67">67</a> }
+<a class="jxr_linenumber" name="L68" href="#L68">68</a>
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> @Test
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultOutput() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L71" href="#L71">71</a>
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> PrintStream origin = System.out;
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L74" href="#L74">74</a> File output = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"target/sysout"</span>);
+<a class="jxr_linenumber" name="L75" href="#L75">75</a> System.setOut(<strong class="jxr_keyword">new</strong> PrintStream(output));
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> CommandLine cl = <strong class="jxr_keyword">new</strong> DefaultParser().parse(Report.buildOptions(), <strong class="jxr_keyword">new</strong> String[]{});
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> ReportConfiguration config = Report.createConfiguration(<span class="jxr_string">"target/test-classes/elements"</span>, cl);
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> Reporter.report(config);
+<a class="jxr_linenumber" name="L79" href="#L79">79</a> assertTrue(output.exists());
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> String content = FileUtils.readFileToString(output, StandardCharsets.UTF_8);
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> assertTrue(content.contains(<span class="jxr_string">"2 Unknown Licenses"</span>));
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> assertTrue(content.contains(<span class="jxr_string">"target/test-classes/elements/Source.java"</span>));
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> assertTrue(content.contains(<span class="jxr_string">"target/test-classes/elements/sub/Empty.txt"</span>));
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> } <strong class="jxr_keyword">finally</strong> {
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> System.setOut(origin);
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> }
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> }
+<a class="jxr_linenumber" name="L88" href="#L88">88</a>
+<a class="jxr_linenumber" name="L89" href="#L89">89</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref-test/org/apache/rat/ReporterTest.html b/rat0161/apache-rat-core/xref-test/org/apache/rat/ReporterTest.html
index 93fab76e..b3e8d9cc 100644
--- a/rat0161/apache-rat-core/xref-test/org/apache/rat/ReporterTest.html
+++ b/rat0161/apache-rat-core/xref-test/org/apache/rat/ReporterTest.html
@@ -43,105 +43,109 @@
<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">import</strong> org.apache.rat.testhelpers.XmlUtils;
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.DefaultLog;
<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">import</strong> org.apache.rat.walker.DirectoryWalker;
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Document;
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.NodeList;
-<a class="jxr_linenumber" name="L41" href="#L41">41</a>
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * Tests the output of the Reporter.</em>
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="ReporterTest" href="../../../org/apache/rat/ReporterTest.html#ReporterTest">ReporterTest</a> {
-<a class="jxr_linenumber" name="L46" href="#L46">46</a>
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> @Test
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> xmlReportTest() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> Defaults defaults = Defaults.builder().build();
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a class="jxr_linenumber" name="L51" href="#L51">51</a>
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">final</strong> String elementsPath = Resources.getResourceDirectory(<span class="jxr_string">"elements/Source.java"</span>);
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">final</strong> ReportConfiguration configuration = <strong class="jxr_keyword">new</strong> ReportConfiguration(DefaultLog.INSTANCE);
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> configuration.setStyleReport(false);
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> configuration.setFrom(defaults);
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> configuration.setReportable(<strong class="jxr_keyword">new</strong> DirectoryWalker(<strong class="jxr_keyword">new</strong> File(elementsPath), HiddenFileFilter.HIDDEN));
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> configuration.setOut(() -> out);
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> Reporter.report(configuration);
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> Document doc = XmlUtils.toDom(<strong class="jxr_keyword">new</strong> ByteArrayInputStream(out.toByteArray()));
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> XPath xPath = XPathFactory.newInstance().newXPath();
-<a class="jxr_linenumber" name="L61" href="#L61">61</a>
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> XmlUtils.getNode(doc, xPath, <span class="jxr_string">"/rat-report[@timestamp]"</span>);
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Disabled;
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Document;
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.NodeList;
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> * Tests the output of the Reporter.</em>
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="ReporterTest" href="../../../org/apache/rat/ReporterTest.html#ReporterTest">ReporterTest</a> {
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> @Test
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> xmlReportTest() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> Defaults defaults = Defaults.builder().build();
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">final</strong> String elementsPath = Resources.getResourceDirectory(<span class="jxr_string">"elements/Source.java"</span>);
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">final</strong> ReportConfiguration configuration = <strong class="jxr_keyword">new</strong> ReportConfiguration(DefaultLog.INSTANCE);
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> configuration.setStyleReport(false);
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> configuration.setFrom(defaults);
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> configuration.setReportable(<strong class="jxr_keyword">new</strong> DirectoryWalker(<strong class="jxr_keyword">new</strong> File(elementsPath), HiddenFileFilter.HIDDEN));
+<a class="jxr_linenumber" name="L58" href="#L58">58</a> configuration.setOut(() -> out);
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> Reporter.report(configuration);
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> Document doc = XmlUtils.toDom(<strong class="jxr_keyword">new</strong> ByteArrayInputStream(out.toByteArray()));
+<a class="jxr_linenumber" name="L61" href="#L61">61</a>
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> XPath xPath = XPathFactory.newInstance().newXPath();
<a class="jxr_linenumber" name="L63" href="#L63">63</a>
-<a class="jxr_linenumber" name="L64" href="#L64">64</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/ILoggerFactory.java"</span>, <span class="jxr_string">"MIT"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Image.png"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"binary"</span>);
-<a class="jxr_linenumber" name="L66" href="#L66">66</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/LICENSE"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"notice"</span>);
-<a class="jxr_linenumber" name="L67" href="#L67">67</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/NOTICE"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"notice"</span>);
-<a class="jxr_linenumber" name="L68" href="#L68">68</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Source.java"</span>, <span class="jxr_string">"?????"</span>, <span class="jxr_string">"false"</span>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Text.txt"</span>, <span class="jxr_string">"AL"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/TextHttps.txt"</span>, <span class="jxr_string">"AL"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Xml.xml"</span>, <span class="jxr_string">"AL"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L72" href="#L72">72</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/buildr.rb"</span>, <span class="jxr_string">"AL"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/dummy.jar"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"archive"</span>);
-<a class="jxr_linenumber" name="L74" href="#L74">74</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/plain.json"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"binary"</span>);
-<a class="jxr_linenumber" name="L75" href="#L75">75</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/sub/Empty.txt"</span>, <span class="jxr_string">"?????"</span>, <span class="jxr_string">"false"</span>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L76" href="#L76">76</a>
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> NodeList nodeList = (NodeList) xPath.compile(<span class="jxr_string">"/rat-report/resource"</span>).evaluate(doc, XPathConstants.NODESET);
-<a class="jxr_linenumber" name="L78" href="#L78">78</a> assertEquals(12, nodeList.getLength());
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> }
-<a class="jxr_linenumber" name="L80" href="#L80">80</a>
-<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NL = System.getProperty(<span class="jxr_string">"line.separator"</span>);
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PARAGRAPH = <span class="jxr_string">"*****************************************************"</span>;
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String HEADER = NL + PARAGRAPH + NL + <em class="jxr_comment">//</em>
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> <span class="jxr_string">"Summary"</span> + NL + <em class="jxr_comment">//</em>
-<a class="jxr_linenumber" name="L85" href="#L85">85</a> <span class="jxr_string">"-------"</span> + NL + <em class="jxr_comment">//</em>
-<a class="jxr_linenumber" name="L86" href="#L86">86</a> <span class="jxr_string">"Generated at: "</span>;
-<a class="jxr_linenumber" name="L87" href="#L87">87</a>
-<a class="jxr_linenumber" name="L88" href="#L88">88</a> @Test
-<a class="jxr_linenumber" name="L89" href="#L89">89</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plainReportWithArchivesAndUnapprovedLicenses() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L90" href="#L90">90</a> Defaults defaults = Defaults.builder().build();
-<a class="jxr_linenumber" name="L91" href="#L91">91</a> ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a class="jxr_linenumber" name="L92" href="#L92">92</a>
-<a class="jxr_linenumber" name="L93" href="#L93">93</a> <strong class="jxr_keyword">final</strong> String elementsPath = Resources.getResourceDirectory(<span class="jxr_string">"elements/Source.java"</span>);
-<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">final</strong> ReportConfiguration configuration = <strong class="jxr_keyword">new</strong> ReportConfiguration(DefaultLog.INSTANCE);
-<a class="jxr_linenumber" name="L95" href="#L95">95</a> configuration.setFrom(defaults);
-<a class="jxr_linenumber" name="L96" href="#L96">96</a> configuration.setReportable(<strong class="jxr_keyword">new</strong> DirectoryWalker(<strong class="jxr_keyword">new</strong> File(elementsPath), HiddenFileFilter.HIDDEN));
-<a class="jxr_linenumber" name="L97" href="#L97">97</a> configuration.setOut(() -> out);
-<a class="jxr_linenumber" name="L98" href="#L98">98</a> Reporter.report(configuration);
-<a class="jxr_linenumber" name="L99" href="#L99">99</a>
-<a class="jxr_linenumber" name="L100" href="#L100">100</a> String document = out.toString();
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> <em class="jxr_comment">// System.out.println(document);</em>
-<a class="jxr_linenumber" name="L102" href="#L102">102</a> assertTrue(document.startsWith(HEADER), <span class="jxr_string">"'Generated at' is present in "</span> + document );
-<a class="jxr_linenumber" name="L103" href="#L103">103</a>
-<a class="jxr_linenumber" name="L104" href="#L104">104</a> <em class="jxr_comment">// final int generatedAtLineEnd = document.indexOf(NL, HEADER.length());</em>
-<a class="jxr_linenumber" name="L105" href="#L105">105</a> find(<span class="jxr_string">"^Notes: 2$"</span>, document);
-<a class="jxr_linenumber" name="L106" href="#L106">106</a> find(<span class="jxr_string">"^Binaries: 2$"</span>, document);
-<a class="jxr_linenumber" name="L107" href="#L107">107</a> find(<span class="jxr_string">"^Archives: 1$"</span>, document);
-<a class="jxr_linenumber" name="L108" href="#L108">108</a> find(<span class="jxr_string">"^Standards: 7$"</span>, document);
-<a class="jxr_linenumber" name="L109" href="#L109">109</a> find(<span class="jxr_string">"^Apache Licensed: 4$"</span>, document);
-<a class="jxr_linenumber" name="L110" href="#L110">110</a> find(<span class="jxr_string">"^Generated Documents: 0$"</span>, document);
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> find(<span class="jxr_string">"^2 Unknown Licenses$"</span>, document);
-<a class="jxr_linenumber" name="L112" href="#L112">112</a> find(<span class="jxr_string">"^Files with unapproved licenses:\\s+"</span>
-<a class="jxr_linenumber" name="L113" href="#L113">113</a> + <span class="jxr_string">"src/test/resources/elements/Source.java\\s+"</span>
-<a class="jxr_linenumber" name="L114" href="#L114">114</a> + <span class="jxr_string">"src/test/resources/elements/sub/Empty.txt\\s"</span>,
-<a class="jxr_linenumber" name="L115" href="#L115">115</a> document);
-<a class="jxr_linenumber" name="L116" href="#L116">116</a> find(<span class="jxr_string">"^Archives:\\s+"</span> + <span class="jxr_string">"\\+ src/test/resources/elements/dummy.jar\\s*"</span>, document);
-<a class="jxr_linenumber" name="L117" href="#L117">117</a> find(<span class="jxr_string">"MIT\\s+src/test/resources/elements/ILoggerFactory.java"</span>, document);
-<a class="jxr_linenumber" name="L118" href="#L118">118</a> find(<span class="jxr_string">"B\\s+src/test/resources/elements/Image.png"</span>, document);
-<a class="jxr_linenumber" name="L119" href="#L119">119</a> find(<span class="jxr_string">"N\\s+src/test/resources/elements/LICENSE"</span>, document);
-<a class="jxr_linenumber" name="L120" href="#L120">120</a> find(<span class="jxr_string">"N\\s+src/test/resources/elements/NOTICE"</span>, document);
-<a class="jxr_linenumber" name="L121" href="#L121">121</a> find(<span class="jxr_string">"!\\Q?????\\E\\s+src/test/resources/elements/Source.java"</span>, document);
-<a class="jxr_linenumber" name="L122" href="#L122">122</a> find(<span class="jxr_string">"AL\\s+src/test/resources/elements/Text.txt"</span>, document);
-<a class="jxr_linenumber" name="L123" href="#L123">123</a> find(<span class="jxr_string">"AL\\s+src/test/resources/elements/TextHttps.txt"</span>, document);
-<a class="jxr_linenumber" name="L124" href="#L124">124</a> find(<span class="jxr_string">"AL\\s+src/test/resources/elements/Xml.xml"</span>, document);
-<a class="jxr_linenumber" name="L125" href="#L125">125</a> find(<span class="jxr_string">"AL\\s+src/test/resources/elements/buildr.rb"</span>, document);
-<a class="jxr_linenumber" name="L126" href="#L126">126</a> find(<span class="jxr_string">"A\\s+src/test/resources/elements/dummy.jar"</span>, document);
-<a class="jxr_linenumber" name="L127" href="#L127">127</a> find(<span class="jxr_string">"B\\s+src/test/resources/elements/plain.json"</span>, document);
-<a class="jxr_linenumber" name="L128" href="#L128">128</a> find(<span class="jxr_string">"!\\Q?????\\E\\s+src/test/resources/elements/sub/Empty.txt"</span>, document);
-<a class="jxr_linenumber" name="L129" href="#L129">129</a> find(<span class="jxr_string">"== File: src/test/resources/elements/sub/Empty.txt"</span>, document);
-<a class="jxr_linenumber" name="L130" href="#L130">130</a> }
-<a class="jxr_linenumber" name="L131" href="#L131">131</a>
-<a class="jxr_linenumber" name="L132" href="#L132">132</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> find(String pattern, String document) {
-<a class="jxr_linenumber" name="L133" href="#L133">133</a> assertTrue(
-<a class="jxr_linenumber" name="L134" href="#L134">134</a> Pattern.compile(pattern, Pattern.MULTILINE).matcher(document).find(), () ->String.format(<span class="jxr_string">"Could not find '%s'"</span>, pattern));
-<a class="jxr_linenumber" name="L135" href="#L135">135</a> }
-<a class="jxr_linenumber" name="L136" href="#L136">136</a> }
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> XmlUtils.getNode(doc, xPath, <span class="jxr_string">"/rat-report[@timestamp]"</span>);
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/ILoggerFactory.java"</span>, <span class="jxr_string">"MIT"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L67" href="#L67">67</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Image.png"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"binary"</span>);
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/LICENSE"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"notice"</span>);
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/NOTICE"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"notice"</span>);
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Source.java"</span>, <span class="jxr_string">"?????"</span>, <span class="jxr_string">"false"</span>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Text.txt"</span>, <span class="jxr_string">"AL"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/TextHttps.txt"</span>, <span class="jxr_string">"AL"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Xml.xml"</span>, <span class="jxr_string">"AL"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L74" href="#L74">74</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/buildr.rb"</span>, <span class="jxr_string">"AL"</span>, <span class="jxr_string">"true"</span>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L75" href="#L75">75</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/dummy.jar"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"archive"</span>);
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/plain.json"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"binary"</span>);
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/sub/Empty.txt"</span>, <span class="jxr_string">"?????"</span>, <span class="jxr_string">"false"</span>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>
+<a class="jxr_linenumber" name="L79" href="#L79">79</a> NodeList nodeList = (NodeList) xPath.compile(<span class="jxr_string">"/rat-report/resource"</span>).evaluate(doc, XPathConstants.NODESET);
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> assertEquals(12, nodeList.getLength());
+<a class="jxr_linenumber" name="L81" href="#L81">81</a>
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> }
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NL = System.getProperty(<span class="jxr_string">"line.separator"</span>);
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PARAGRAPH = <span class="jxr_string">"*****************************************************"</span>;
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String HEADER = NL + PARAGRAPH + NL + <em class="jxr_comment">//</em>
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> <span class="jxr_string">"Summary"</span> + NL + <em class="jxr_comment">//</em>
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> <span class="jxr_string">"-------"</span> + NL + <em class="jxr_comment">//</em>
+<a class="jxr_linenumber" name="L89" href="#L89">89</a> <span class="jxr_string">"Generated at: "</span>;
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> @Test
+<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plainReportWithArchivesAndUnapprovedLicenses() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L93" href="#L93">93</a> Defaults defaults = Defaults.builder().build();
+<a class="jxr_linenumber" name="L94" href="#L94">94</a> ByteArrayOutputStream out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a class="jxr_linenumber" name="L95" href="#L95">95</a>
+<a class="jxr_linenumber" name="L96" href="#L96">96</a> <strong class="jxr_keyword">final</strong> String elementsPath = Resources.getResourceDirectory(<span class="jxr_string">"elements/Source.java"</span>);
+<a class="jxr_linenumber" name="L97" href="#L97">97</a> <strong class="jxr_keyword">final</strong> ReportConfiguration configuration = <strong class="jxr_keyword">new</strong> ReportConfiguration(DefaultLog.INSTANCE);
+<a class="jxr_linenumber" name="L98" href="#L98">98</a> configuration.setFrom(defaults);
+<a class="jxr_linenumber" name="L99" href="#L99">99</a> configuration.setReportable(<strong class="jxr_keyword">new</strong> DirectoryWalker(<strong class="jxr_keyword">new</strong> File(elementsPath), HiddenFileFilter.HIDDEN));
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> configuration.setOut(() -> out);
+<a class="jxr_linenumber" name="L101" href="#L101">101</a> Reporter.report(configuration);
+<a class="jxr_linenumber" name="L102" href="#L102">102</a>
+<a class="jxr_linenumber" name="L103" href="#L103">103</a> out.flush();
+<a class="jxr_linenumber" name="L104" href="#L104">104</a> String document = out.toString();
+<a class="jxr_linenumber" name="L105" href="#L105">105</a>
+<a class="jxr_linenumber" name="L106" href="#L106">106</a> assertTrue(document.startsWith(HEADER), <span class="jxr_string">"'Generated at' is present in "</span> + document );
+<a class="jxr_linenumber" name="L107" href="#L107">107</a>
+<a class="jxr_linenumber" name="L108" href="#L108">108</a> <em class="jxr_comment">// final int generatedAtLineEnd = document.indexOf(NL, HEADER.length());</em>
+<a class="jxr_linenumber" name="L109" href="#L109">109</a> find(<span class="jxr_string">"^Notes: 2$"</span>, document);
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> find(<span class="jxr_string">"^Binaries: 2$"</span>, document);
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> find(<span class="jxr_string">"^Archives: 1$"</span>, document);
+<a class="jxr_linenumber" name="L112" href="#L112">112</a> find(<span class="jxr_string">"^Standards: 7$"</span>, document);
+<a class="jxr_linenumber" name="L113" href="#L113">113</a> find(<span class="jxr_string">"^Apache Licensed: 4$"</span>, document);
+<a class="jxr_linenumber" name="L114" href="#L114">114</a> find(<span class="jxr_string">"^Generated Documents: 0$"</span>, document);
+<a class="jxr_linenumber" name="L115" href="#L115">115</a> find(<span class="jxr_string">"^2 Unknown Licenses$"</span>, document);
+<a class="jxr_linenumber" name="L116" href="#L116">116</a> find(<span class="jxr_string">"^Files with unapproved licenses:\\s+"</span>
+<a class="jxr_linenumber" name="L117" href="#L117">117</a> + <span class="jxr_string">"src/test/resources/elements/Source.java\\s+"</span>
+<a class="jxr_linenumber" name="L118" href="#L118">118</a> + <span class="jxr_string">"src/test/resources/elements/sub/Empty.txt\\s"</span>,
+<a class="jxr_linenumber" name="L119" href="#L119">119</a> document);
+<a class="jxr_linenumber" name="L120" href="#L120">120</a> find(<span class="jxr_string">"^Archives:\\s+"</span> + <span class="jxr_string">"\\+ src/test/resources/elements/dummy.jar\\s*"</span>, document);
+<a class="jxr_linenumber" name="L121" href="#L121">121</a> find(<span class="jxr_string">"MIT\\s+src/test/resources/elements/ILoggerFactory.java"</span>, document);
+<a class="jxr_linenumber" name="L122" href="#L122">122</a> find(<span class="jxr_string">"B\\s+src/test/resources/elements/Image.png"</span>, document);
+<a class="jxr_linenumber" name="L123" href="#L123">123</a> find(<span class="jxr_string">"N\\s+src/test/resources/elements/LICENSE"</span>, document);
+<a class="jxr_linenumber" name="L124" href="#L124">124</a> find(<span class="jxr_string">"N\\s+src/test/resources/elements/NOTICE"</span>, document);
+<a class="jxr_linenumber" name="L125" href="#L125">125</a> find(<span class="jxr_string">"!\\Q?????\\E\\s+src/test/resources/elements/Source.java"</span>, document);
+<a class="jxr_linenumber" name="L126" href="#L126">126</a> find(<span class="jxr_string">"AL\\s+src/test/resources/elements/Text.txt"</span>, document);
+<a class="jxr_linenumber" name="L127" href="#L127">127</a> find(<span class="jxr_string">"AL\\s+src/test/resources/elements/TextHttps.txt"</span>, document);
+<a class="jxr_linenumber" name="L128" href="#L128">128</a> find(<span class="jxr_string">"AL\\s+src/test/resources/elements/Xml.xml"</span>, document);
+<a class="jxr_linenumber" name="L129" href="#L129">129</a> find(<span class="jxr_string">"AL\\s+src/test/resources/elements/buildr.rb"</span>, document);
+<a class="jxr_linenumber" name="L130" href="#L130">130</a> find(<span class="jxr_string">"A\\s+src/test/resources/elements/dummy.jar"</span>, document);
+<a class="jxr_linenumber" name="L131" href="#L131">131</a> find(<span class="jxr_string">"B\\s+src/test/resources/elements/plain.json"</span>, document);
+<a class="jxr_linenumber" name="L132" href="#L132">132</a> find(<span class="jxr_string">"!\\Q?????\\E\\s+src/test/resources/elements/sub/Empty.txt"</span>, document);
+<a class="jxr_linenumber" name="L133" href="#L133">133</a> find(<span class="jxr_string">"== File: src/test/resources/elements/sub/Empty.txt"</span>, document);
+<a class="jxr_linenumber" name="L134" href="#L134">134</a> }
+<a class="jxr_linenumber" name="L135" href="#L135">135</a>
+<a class="jxr_linenumber" name="L136" href="#L136">136</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> find(String pattern, String document) {
+<a class="jxr_linenumber" name="L137" href="#L137">137</a> assertTrue(
+<a class="jxr_linenumber" name="L138" href="#L138">138</a> Pattern.compile(pattern, Pattern.MULTILINE).matcher(document).find(), () ->String.format(<span class="jxr_string">"Could not find '%s'"</span>, pattern));
+<a class="jxr_linenumber" name="L139" href="#L139">139</a> }
+<a class="jxr_linenumber" name="L140" href="#L140">140</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref-test/org/apache/rat/analysis/AnalyserFactoryTest.html b/rat0161/apache-rat-core/xref-test/org/apache/rat/analysis/AnalyserFactoryTest.html
index 9ef20fbf..e8e71c5f 100644
--- a/rat0161/apache-rat-core/xref-test/org/apache/rat/analysis/AnalyserFactoryTest.html
+++ b/rat0161/apache-rat-core/xref-test/org/apache/rat/analysis/AnalyserFactoryTest.html
@@ -42,99 +42,100 @@
<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">import</strong> org.apache.rat.report.claim.impl.xml.SimpleXmlClaimReporter;
<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">import</strong> org.apache.rat.report.xml.writer.impl.base.XmlWriter;
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">import</strong> org.apache.rat.test.utils.Resources;
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.BeforeEach;
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.DefaultLog;
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.BeforeEach;
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
<a class="jxr_linenumber" name="L40" href="#L40">40</a>
-<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="AnalyserFactoryTest" href="../../../../org/apache/rat/analysis/AnalyserFactoryTest.html#AnalyserFactoryTest">AnalyserFactoryTest</a> {
-<a class="jxr_linenumber" name="L42" href="#L42">42</a>
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> ILicense MATCHES_NOTHING_MATCHER = mock(ILicense.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L44" href="#L44">44</a>
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">static</strong> {
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> when(MATCHES_NOTHING_MATCHER.matches(any())).thenReturn(State.f);
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> when(MATCHES_NOTHING_MATCHER.currentState()).thenReturn(State.f);
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> when(MATCHES_NOTHING_MATCHER.finalizeState()).thenReturn(State.f);
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> }
-<a class="jxr_linenumber" name="L50" href="#L50">50</a>
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">private</strong> StringWriter out;
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">private</strong> SimpleXmlClaimReporter reporter;
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">private</strong> IDocumentAnalyser analyser;
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> @BeforeEach
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> out = <strong class="jxr_keyword">new</strong> StringWriter();
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> <strong class="jxr_keyword">final</strong> XmlWriter writer = <strong class="jxr_keyword">new</strong> XmlWriter(out);
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> reporter = <strong class="jxr_keyword">new</strong> SimpleXmlClaimReporter(writer);
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> analyser = DefaultAnalyserFactory.createDefaultAnalyser(Arrays.asList(MATCHES_NOTHING_MATCHER));
-<a class="jxr_linenumber" name="L61" href="#L61">61</a> }
-<a class="jxr_linenumber" name="L62" href="#L62">62</a>
-<a class="jxr_linenumber" name="L63" href="#L63">63</a> @Test
-<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> standardTypeAnalyser() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
-<a class="jxr_linenumber" name="L66" href="#L66">66</a> Resources.getResourceFile(<span class="jxr_string">"/elements/Text.txt"</span>));
-<a class="jxr_linenumber" name="L67" href="#L67">67</a> analyser.analyse(document);
-<a class="jxr_linenumber" name="L68" href="#L68">68</a> reporter.report(document);
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> assertEquals( <em class="jxr_comment">//</em>
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> <span class="jxr_string">"<resource name='src/test/resources/elements/Text.txt'><header-sample>/*\n"</span>
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> + <span class="jxr_string">" * Licensed to the Apache Software Foundation (ASF) under one\n"</span>
-<a class="jxr_linenumber" name="L72" href="#L72">72</a> + <span class="jxr_string">" * or more contributor license agreements. See the NOTICE file\n"</span>
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> + <span class="jxr_string">" * distributed with this work for additional information\n"</span>
-<a class="jxr_linenumber" name="L74" href="#L74">74</a> + <span class="jxr_string">" * regarding copyright ownership. The ASF licenses this file\n"</span>
-<a class="jxr_linenumber" name="L75" href="#L75">75</a> + <span class="jxr_string">" * to you under the Apache License, Version 2.0 (the \"License\");\n"</span>
-<a class="jxr_linenumber" name="L76" href="#L76">76</a> + <span class="jxr_string">" * you may not use this file except in compliance with the License.\n"</span>
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> + <span class="jxr_string">" * You may obtain a copy of the License at\n"</span> + <span class="jxr_string">" *\n"</span>
-<a class="jxr_linenumber" name="L78" href="#L78">78</a> + <span class="jxr_string">" * http://www.apache.org/licenses/LICENSE-2.0\n"</span> + <span class="jxr_string">" *\n"</span>
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> + <span class="jxr_string">" * Unless required by applicable law or agreed to in writing,\n"</span>
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> + <span class="jxr_string">" * software distributed under the License is distributed on an\n"</span>
-<a class="jxr_linenumber" name="L81" href="#L81">81</a> + <span class="jxr_string">" * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"</span>
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> + <span class="jxr_string">" * KIND, either express or implied. See the License for the\n"</span>
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> + <span class="jxr_string">" * specific language governing permissions and limitations\n"</span> + <span class="jxr_string">" * under the License. \n"</span>
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> + <span class="jxr_string">" */\n"</span> + <span class="jxr_string">"\n"</span> + <span class="jxr_string">" \n"</span>
-<a class="jxr_linenumber" name="L85" href="#L85">85</a> + <span class="jxr_string">"</header-sample><header-type name='?????'/><license-family name='Unknown license'/><type name='standard'/>"</span>,
-<a class="jxr_linenumber" name="L86" href="#L86">86</a> out.toString(), <span class="jxr_string">"Open standard element"</span>);
-<a class="jxr_linenumber" name="L87" href="#L87">87</a> }
-<a class="jxr_linenumber" name="L88" href="#L88">88</a>
-<a class="jxr_linenumber" name="L89" href="#L89">89</a> @Test
-<a class="jxr_linenumber" name="L90" href="#L90">90</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> noteTypeAnalyser() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
-<a class="jxr_linenumber" name="L92" href="#L92">92</a> Resources.getResourceFile(<span class="jxr_string">"/elements/LICENSE"</span>));
-<a class="jxr_linenumber" name="L93" href="#L93">93</a> analyser.analyse(document);
-<a class="jxr_linenumber" name="L94" href="#L94">94</a> reporter.report(document);
-<a class="jxr_linenumber" name="L95" href="#L95">95</a> assertEquals(<span class="jxr_string">"<resource name='src/test/resources/elements/LICENSE'><type name='notice'/>"</span>,
-<a class="jxr_linenumber" name="L96" href="#L96">96</a> out.toString(), <span class="jxr_string">"Open note element"</span>);
-<a class="jxr_linenumber" name="L97" href="#L97">97</a> }
-<a class="jxr_linenumber" name="L98" href="#L98">98</a>
-<a class="jxr_linenumber" name="L99" href="#L99">99</a> @Test
-<a class="jxr_linenumber" name="L100" href="#L100">100</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> binaryTypeAnalyser() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
-<a class="jxr_linenumber" name="L102" href="#L102">102</a> Resources.getResourceFile(<span class="jxr_string">"/elements/Image.png"</span>));
-<a class="jxr_linenumber" name="L103" href="#L103">103</a> analyser.analyse(document);
-<a class="jxr_linenumber" name="L104" href="#L104">104</a> reporter.report(document);
-<a class="jxr_linenumber" name="L105" href="#L105">105</a> assertEquals(
-<a class="jxr_linenumber" name="L106" href="#L106">106</a> <span class="jxr_string">"<resource name='src/test/resources/elements/Image.png'><type name='binary'/>"</span>,
-<a class="jxr_linenumber" name="L107" href="#L107">107</a> out.toString(), <span class="jxr_string">"Open binary element"</span>);
-<a class="jxr_linenumber" name="L108" href="#L108">108</a> }
-<a class="jxr_linenumber" name="L109" href="#L109">109</a>
-<a class="jxr_linenumber" name="L110" href="#L110">110</a> @Test
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> archiveTypeAnalyser() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L112" href="#L112">112</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
-<a class="jxr_linenumber" name="L113" href="#L113">113</a> Resources.getResourceFile(<span class="jxr_string">"/elements/dummy.jar"</span>));
-<a class="jxr_linenumber" name="L114" href="#L114">114</a> analyser.analyse(document);
-<a class="jxr_linenumber" name="L115" href="#L115">115</a> reporter.report(document);
-<a class="jxr_linenumber" name="L116" href="#L116">116</a> assertEquals(
-<a class="jxr_linenumber" name="L117" href="#L117">117</a> <span class="jxr_string">"<resource name='src/test/resources/elements/dummy.jar'><type name='archive'/>"</span>, out.toString(), <span class="jxr_string">"Open archive element"</span>);
-<a class="jxr_linenumber" name="L118" href="#L118">118</a> }
-<a class="jxr_linenumber" name="L119" href="#L119">119</a>
-<a class="jxr_linenumber" name="L120" href="#L120">120</a> @Test
-<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> archiveTypeAnalyserIntelliJ() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
-<a class="jxr_linenumber" name="L123" href="#L123">123</a> Resources.getResourceFile(<span class="jxr_string">"/elements/dummy.jar"</span>));
-<a class="jxr_linenumber" name="L124" href="#L124">124</a> analyser.analyse(document);
-<a class="jxr_linenumber" name="L125" href="#L125">125</a> reporter.report(document);
-<a class="jxr_linenumber" name="L126" href="#L126">126</a> assertEquals(
-<a class="jxr_linenumber" name="L127" href="#L127">127</a> <span class="jxr_string">"<resource name='src/test/resources/elements/dummy.jar'><type name='archive'/>"</span>, out.toString(), <span class="jxr_string">"Open archive element"</span>);
-<a class="jxr_linenumber" name="L128" href="#L128">128</a> }
-<a class="jxr_linenumber" name="L129" href="#L129">129</a> }
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="AnalyserFactoryTest" href="../../../../org/apache/rat/analysis/AnalyserFactoryTest.html#AnalyserFactoryTest">AnalyserFactoryTest</a> {
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> ILicense MATCHES_NOTHING_MATCHER = mock(ILicense.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">static</strong> {
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> when(MATCHES_NOTHING_MATCHER.matches(any())).thenReturn(State.f);
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> when(MATCHES_NOTHING_MATCHER.currentState()).thenReturn(State.f);
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> when(MATCHES_NOTHING_MATCHER.finalizeState()).thenReturn(State.f);
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> }
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">private</strong> StringWriter out;
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">private</strong> SimpleXmlClaimReporter reporter;
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">private</strong> IDocumentAnalyser analyser;
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> @BeforeEach
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L58" href="#L58">58</a> out = <strong class="jxr_keyword">new</strong> StringWriter();
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">final</strong> XmlWriter writer = <strong class="jxr_keyword">new</strong> XmlWriter(out);
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> reporter = <strong class="jxr_keyword">new</strong> SimpleXmlClaimReporter(writer);
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> analyser = DefaultAnalyserFactory.createDefaultAnalyser(DefaultLog.INSTANCE, Arrays.asList(MATCHES_NOTHING_MATCHER));
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> }
+<a class="jxr_linenumber" name="L63" href="#L63">63</a>
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> @Test
+<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> standardTypeAnalyser() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
+<a class="jxr_linenumber" name="L67" href="#L67">67</a> Resources.getResourceFile(<span class="jxr_string">"/elements/Text.txt"</span>));
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> analyser.analyse(document);
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> reporter.report(document);
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> assertEquals( <em class="jxr_comment">//</em>
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> <span class="jxr_string">"<resource name='src/test/resources/elements/Text.txt'><header-sample>/*\n"</span>
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> + <span class="jxr_string">" * Licensed to the Apache Software Foundation (ASF) under one\n"</span>
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> + <span class="jxr_string">" * or more contributor license agreements. See the NOTICE file\n"</span>
+<a class="jxr_linenumber" name="L74" href="#L74">74</a> + <span class="jxr_string">" * distributed with this work for additional information\n"</span>
+<a class="jxr_linenumber" name="L75" href="#L75">75</a> + <span class="jxr_string">" * regarding copyright ownership. The ASF licenses this file\n"</span>
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> + <span class="jxr_string">" * to you under the Apache License, Version 2.0 (the \"License\");\n"</span>
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> + <span class="jxr_string">" * you may not use this file except in compliance with the License.\n"</span>
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> + <span class="jxr_string">" * You may obtain a copy of the License at\n"</span> + <span class="jxr_string">" *\n"</span>
+<a class="jxr_linenumber" name="L79" href="#L79">79</a> + <span class="jxr_string">" * http://www.apache.org/licenses/LICENSE-2.0\n"</span> + <span class="jxr_string">" *\n"</span>
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> + <span class="jxr_string">" * Unless required by applicable law or agreed to in writing,\n"</span>
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> + <span class="jxr_string">" * software distributed under the License is distributed on an\n"</span>
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> + <span class="jxr_string">" * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"</span>
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> + <span class="jxr_string">" * KIND, either express or implied. See the License for the\n"</span>
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> + <span class="jxr_string">" * specific language governing permissions and limitations\n"</span> + <span class="jxr_string">" * under the License. \n"</span>
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> + <span class="jxr_string">" */\n"</span> + <span class="jxr_string">"\n"</span> + <span class="jxr_string">" \n"</span>
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> + <span class="jxr_string">"</header-sample><header-type name='?????'/><license-family name='Unknown license'/><type name='standard'/>"</span>,
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> out.toString(), <span class="jxr_string">"Open standard element"</span>);
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> }
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>
+<a class="jxr_linenumber" name="L90" href="#L90">90</a> @Test
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> noteTypeAnalyser() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
+<a class="jxr_linenumber" name="L93" href="#L93">93</a> Resources.getResourceFile(<span class="jxr_string">"/elements/LICENSE"</span>));
+<a class="jxr_linenumber" name="L94" href="#L94">94</a> analyser.analyse(document);
+<a class="jxr_linenumber" name="L95" href="#L95">95</a> reporter.report(document);
+<a class="jxr_linenumber" name="L96" href="#L96">96</a> assertEquals(<span class="jxr_string">"<resource name='src/test/resources/elements/LICENSE'><type name='notice'/>"</span>,
+<a class="jxr_linenumber" name="L97" href="#L97">97</a> out.toString(), <span class="jxr_string">"Open note element"</span>);
+<a class="jxr_linenumber" name="L98" href="#L98">98</a> }
+<a class="jxr_linenumber" name="L99" href="#L99">99</a>
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> @Test
+<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> binaryTypeAnalyser() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
+<a class="jxr_linenumber" name="L103" href="#L103">103</a> Resources.getResourceFile(<span class="jxr_string">"/elements/Image.png"</span>));
+<a class="jxr_linenumber" name="L104" href="#L104">104</a> analyser.analyse(document);
+<a class="jxr_linenumber" name="L105" href="#L105">105</a> reporter.report(document);
+<a class="jxr_linenumber" name="L106" href="#L106">106</a> assertEquals(
+<a class="jxr_linenumber" name="L107" href="#L107">107</a> <span class="jxr_string">"<resource name='src/test/resources/elements/Image.png'><type name='binary'/>"</span>,
+<a class="jxr_linenumber" name="L108" href="#L108">108</a> out.toString(), <span class="jxr_string">"Open binary element"</span>);
+<a class="jxr_linenumber" name="L109" href="#L109">109</a> }
+<a class="jxr_linenumber" name="L110" href="#L110">110</a>
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> @Test
+<a class="jxr_linenumber" name="L112" href="#L112">112</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> archiveTypeAnalyser() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L113" href="#L113">113</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
+<a class="jxr_linenumber" name="L114" href="#L114">114</a> Resources.getResourceFile(<span class="jxr_string">"/elements/dummy.jar"</span>));
+<a class="jxr_linenumber" name="L115" href="#L115">115</a> analyser.analyse(document);
+<a class="jxr_linenumber" name="L116" href="#L116">116</a> reporter.report(document);
+<a class="jxr_linenumber" name="L117" href="#L117">117</a> assertEquals(
+<a class="jxr_linenumber" name="L118" href="#L118">118</a> <span class="jxr_string">"<resource name='src/test/resources/elements/dummy.jar'><type name='archive'/>"</span>, out.toString(), <span class="jxr_string">"Open archive element"</span>);
+<a class="jxr_linenumber" name="L119" href="#L119">119</a> }
+<a class="jxr_linenumber" name="L120" href="#L120">120</a>
+<a class="jxr_linenumber" name="L121" href="#L121">121</a> @Test
+<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> archiveTypeAnalyserIntelliJ() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L123" href="#L123">123</a> <strong class="jxr_keyword">final</strong> MonolithicFileDocument document = <strong class="jxr_keyword">new</strong> MonolithicFileDocument(
+<a class="jxr_linenumber" name="L124" href="#L124">124</a> Resources.getResourceFile(<span class="jxr_string">"/elements/dummy.jar"</span>));
+<a class="jxr_linenumber" name="L125" href="#L125">125</a> analyser.analyse(document);
+<a class="jxr_linenumber" name="L126" href="#L126">126</a> reporter.report(document);
+<a class="jxr_linenumber" name="L127" href="#L127">127</a> assertEquals(
+<a class="jxr_linenumber" name="L128" href="#L128">128</a> <span class="jxr_string">"<resource name='src/test/resources/elements/dummy.jar'><type name='archive'/>"</span>, out.toString(), <span class="jxr_string">"Open archive element"</span>);
+<a class="jxr_linenumber" name="L129" href="#L129">129</a> }
+<a class="jxr_linenumber" name="L130" href="#L130">130</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref-test/org/apache/rat/analysis/matchers/SPDXMatcherTest.html b/rat0161/apache-rat-core/xref-test/org/apache/rat/analysis/matchers/SPDXMatcherTest.html
index d1b40891..c65d3a49 100644
--- a/rat0161/apache-rat-core/xref-test/org/apache/rat/analysis/matchers/SPDXMatcherTest.html
+++ b/rat0161/apache-rat-core/xref-test/org/apache/rat/analysis/matchers/SPDXMatcherTest.html
@@ -80,7 +80,18 @@
<a class="jxr_linenumber" name="L72" href="#L72">72</a> target.reset();
<a class="jxr_linenumber" name="L73" href="#L73">73</a> assertEquals(State.i, target.currentState());
<a class="jxr_linenumber" name="L74" href="#L74">74</a> }
-<a class="jxr_linenumber" name="L75" href="#L75">75</a> }
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> @Test
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testResetClearsLastMatch() {
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>
+<a class="jxr_linenumber" name="L79" href="#L79">79</a> assertEquals(State.i, target.currentState());
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> assertEquals(State.t, target.matches(<span class="jxr_string">"SPDX-License-Identifier: hello"</span>));
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> assertEquals(State.t, target.currentState());
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> target.reset();
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> assertEquals(State.i, target.currentState());
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> assertEquals(State.i, target.matches(<span class="jxr_string">"Something weird"</span>));;
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> }
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref-test/org/apache/rat/annotation/TestLicenseAppender.html b/rat0161/apache-rat-core/xref-test/org/apache/rat/annotation/TestLicenseAppender.html
index 1e524160..9e50032e 100644
--- a/rat0161/apache-rat-core/xref-test/org/apache/rat/annotation/TestLicenseAppender.html
+++ b/rat0161/apache-rat-core/xref-test/org/apache/rat/annotation/TestLicenseAppender.html
@@ -38,650 +38,651 @@
<a class="jxr_linenumber" name="L30" href="#L30">30</a>
<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">import</strong> org.apache.commons.io.FileUtils;
<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">import</strong> org.apache.rat.test.utils.Resources;
-<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
-<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.io.TempDir;
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="TestLicenseAppender" href="../../../../org/apache/rat/annotation/TestLicenseAppender.html#TestLicenseAppender">TestLicenseAppender</a> {
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> @TempDir
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">private</strong> File baseTempFolder;
-<a class="jxr_linenumber" name="L40" href="#L40">40</a>
-<a class="jxr_linenumber" name="L41" href="#L41">41</a>
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FIRST_LICENSE_LINE = <span class="jxr_string">" Licensed to the Apache Software Foundation (ASF) under one"</span>;
-<a class="jxr_linenumber" name="L43" href="#L43">43</a>
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">interface</strong> FileCreator {
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">void</strong> createFile(Writer w) <strong class="jxr_keyword">throws</strong> IOException;
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> }
-<a class="jxr_linenumber" name="L47" href="#L47">47</a>
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">interface</strong> NewFileReader {
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">void</strong> readFile(BufferedReader r) <strong class="jxr_keyword">throws</strong> IOException;
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> }
-<a class="jxr_linenumber" name="L51" href="#L51">51</a>
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">private</strong> String getTemporaryFileWithName(String fileName) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">if</strong> (fileName != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File(baseTempFolder,fileName).getAbsolutePath();
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> }
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">return</strong> File.createTempFile(<span class="jxr_string">"tla"</span>, <strong class="jxr_keyword">null</strong>, baseTempFolder).getAbsolutePath();
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> }
-<a class="jxr_linenumber" name="L58" href="#L58">58</a>
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> createTestFile(String fileName,
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> FileCreator creator)
-<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">try</strong> (FileWriter w = <strong class="jxr_keyword">new</strong> FileWriter(fileName)) {
-<a class="jxr_linenumber" name="L63" href="#L63">63</a> creator.createFile(w);
-<a class="jxr_linenumber" name="L64" href="#L64">64</a> }
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> }
-<a class="jxr_linenumber" name="L66" href="#L66">66</a>
-<a class="jxr_linenumber" name="L67" href="#L67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> commonTestTemplate(String relativeName,
-<a class="jxr_linenumber" name="L68" href="#L68">68</a> FileCreator creator,
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> NewFileReader reader)
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> String name = getTemporaryFileWithName(relativeName);
-<a class="jxr_linenumber" name="L72" href="#L72">72</a>
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> createTestFile(name, creator);
-<a class="jxr_linenumber" name="L74" href="#L74">74</a>
-<a class="jxr_linenumber" name="L75" href="#L75">75</a> ApacheV2LicenseAppender appender =
-<a class="jxr_linenumber" name="L76" href="#L76">76</a> <strong class="jxr_keyword">new</strong> ApacheV2LicenseAppender();
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> appender.append(<strong class="jxr_keyword">new</strong> File(name));
-<a class="jxr_linenumber" name="L78" href="#L78">78</a>
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> <strong class="jxr_keyword">try</strong> (BufferedReader r = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> FileReader(name + <span class="jxr_string">".new"</span>))){
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> reader.readFile(r);
-<a class="jxr_linenumber" name="L81" href="#L81">81</a> }
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> FileUtils.delete( <strong class="jxr_keyword">new</strong> File(name+<span class="jxr_string">".new"</span>));
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> FileUtils.delete( <strong class="jxr_keyword">new</strong> File(name));
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> }
-<a class="jxr_linenumber" name="L85" href="#L85">85</a>
-<a class="jxr_linenumber" name="L86" href="#L86">86</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> NewFileReader checkLines(<strong class="jxr_keyword">final</strong> String ... lines) {
-<a class="jxr_linenumber" name="L87" href="#L87">87</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> NewFileReader() {
-<a class="jxr_linenumber" name="L88" href="#L88">88</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readFile(BufferedReader r) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L89" href="#L89">89</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i<lines.length; i++) {
-<a class="jxr_linenumber" name="L90" href="#L90">90</a> String line = r.readLine();
-<a class="jxr_linenumber" name="L91" href="#L91">91</a> assertEquals(lines[i], line, String.format(<span class="jxr_string">"Line %s is incorrect"</span>,i));
-<a class="jxr_linenumber" name="L92" href="#L92">92</a> }
-<a class="jxr_linenumber" name="L93" href="#L93">93</a> }
-<a class="jxr_linenumber" name="L94" href="#L94">94</a> };
-<a class="jxr_linenumber" name="L95" href="#L95">95</a> }
-<a class="jxr_linenumber" name="L96" href="#L96">96</a>
-<a class="jxr_linenumber" name="L97" href="#L97">97</a> @Test
-<a class="jxr_linenumber" name="L98" href="#L98">98</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToUnknownFile() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L99" href="#L99">99</a> String filename = getTemporaryFileWithName(<strong class="jxr_keyword">null</strong>);
-<a class="jxr_linenumber" name="L100" href="#L100">100</a> createTestFile(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L103" href="#L103">103</a> writer.write(<span class="jxr_string">"Unknown file type\n"</span>);
-<a class="jxr_linenumber" name="L104" href="#L104">104</a> }
-<a class="jxr_linenumber" name="L105" href="#L105">105</a> });
-<a class="jxr_linenumber" name="L106" href="#L106">106</a>
-<a class="jxr_linenumber" name="L107" href="#L107">107</a> File file = <strong class="jxr_keyword">new</strong> File(filename);
-<a class="jxr_linenumber" name="L108" href="#L108">108</a> file.deleteOnExit();
-<a class="jxr_linenumber" name="L109" href="#L109">109</a> ApacheV2LicenseAppender appender =
-<a class="jxr_linenumber" name="L110" href="#L110">110</a> <strong class="jxr_keyword">new</strong> ApacheV2LicenseAppender();
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> appender.append(file);
-<a class="jxr_linenumber" name="L112" href="#L112">112</a>
-<a class="jxr_linenumber" name="L113" href="#L113">113</a> File newFile = <strong class="jxr_keyword">new</strong> File(filename + <span class="jxr_string">".new"</span>);
-<a class="jxr_linenumber" name="L114" href="#L114">114</a> newFile.deleteOnExit();
-<a class="jxr_linenumber" name="L115" href="#L115">115</a> assertFalse(newFile.exists(), <span class="jxr_string">"No new file should have been written"</span>);
-<a class="jxr_linenumber" name="L116" href="#L116">116</a> }
-<a class="jxr_linenumber" name="L117" href="#L117">117</a>
-<a class="jxr_linenumber" name="L118" href="#L118">118</a> @Test
-<a class="jxr_linenumber" name="L119" href="#L119">119</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToJava() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L120" href="#L120">120</a> String filename = <span class="jxr_string">"tmp.java"</span>;
-<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"package foo;"</span>;
-<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="L123" href="#L123">123</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L124" href="#L124">124</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L125" href="#L125">125</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L126" href="#L126">126</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L127" href="#L127">127</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L128" href="#L128">128</a> writer.write(<span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L129" href="#L129">129</a> writer.write(<span class="jxr_string">"public class test {\n"</span>);
-<a class="jxr_linenumber" name="L130" href="#L130">130</a> writer.write(<span class="jxr_string">"}\n"</span>);
-<a class="jxr_linenumber" name="L131" href="#L131">131</a> }
-<a class="jxr_linenumber" name="L132" href="#L132">132</a> },
-<a class="jxr_linenumber" name="L133" href="#L133">133</a> checkLines(firstLine, secondLine, thirdLine));
-<a class="jxr_linenumber" name="L134" href="#L134">134</a> }
-<a class="jxr_linenumber" name="L135" href="#L135">135</a>
-<a class="jxr_linenumber" name="L136" href="#L136">136</a> @Test
-<a class="jxr_linenumber" name="L137" href="#L137">137</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToJavaWithoutPackage() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L138" href="#L138">138</a> String filename = <span class="jxr_string">"tmp.java"</span>;
-<a class="jxr_linenumber" name="L139" href="#L139">139</a> String commentLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L140" href="#L140">140</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L141" href="#L141">141</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L142" href="#L142">142</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L143" href="#L143">143</a> writer.write(<span class="jxr_string">"public class test {\n"</span>);
-<a class="jxr_linenumber" name="L144" href="#L144">144</a> writer.write(<span class="jxr_string">"}\n"</span>);
-<a class="jxr_linenumber" name="L145" href="#L145">145</a> }
-<a class="jxr_linenumber" name="L146" href="#L146">146</a> },
-<a class="jxr_linenumber" name="L147" href="#L147">147</a> checkLines(commentLine));
-<a class="jxr_linenumber" name="L148" href="#L148">148</a> }
-<a class="jxr_linenumber" name="L149" href="#L149">149</a>
-<a class="jxr_linenumber" name="L150" href="#L150">150</a> @Test
-<a class="jxr_linenumber" name="L151" href="#L151">151</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToXML() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L152" href="#L152">152</a> String filename = <span class="jxr_string">"tmp.xml"</span>;
-<a class="jxr_linenumber" name="L153" href="#L153">153</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"<?xml version='1.0'?>"</span>;
-<a class="jxr_linenumber" name="L154" href="#L154">154</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="L155" href="#L155">155</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"<!--"</span>;
-<a class="jxr_linenumber" name="L156" href="#L156">156</a>
-<a class="jxr_linenumber" name="L157" href="#L157">157</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L158" href="#L158">158</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L159" href="#L159">159</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L160" href="#L160">160</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L161" href="#L161">161</a> writer.write(<span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L162" href="#L162">162</a> writer.write(<span class="jxr_string">"<xml>\n"</span>);
-<a class="jxr_linenumber" name="L163" href="#L163">163</a> writer.write(<span class="jxr_string">"</xml>\n"</span>);
-<a class="jxr_linenumber" name="L164" href="#L164">164</a> }
-<a class="jxr_linenumber" name="L165" href="#L165">165</a> },
-<a class="jxr_linenumber" name="L166" href="#L166">166</a> checkLines(firstLine, secondLine, thirdLine));
-<a class="jxr_linenumber" name="L167" href="#L167">167</a> }
-<a class="jxr_linenumber" name="L168" href="#L168">168</a>
-<a class="jxr_linenumber" name="L169" href="#L169">169</a> @Test
-<a class="jxr_linenumber" name="L170" href="#L170">170</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToXMLWithoutDecl() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L171" href="#L171">171</a> String filename = <span class="jxr_string">"tmp.xml"</span>;
-<a class="jxr_linenumber" name="L172" href="#L172">172</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"<?xml version='1.0'?>"</span>;
-<a class="jxr_linenumber" name="L173" href="#L173">173</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">"<!--"</span>;
-<a class="jxr_linenumber" name="L174" href="#L174">174</a>
-<a class="jxr_linenumber" name="L175" href="#L175">175</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L176" href="#L176">176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L177" href="#L177">177</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L178" href="#L178">178</a> writer.write(<span class="jxr_string">"<xml>\n"</span>);
-<a class="jxr_linenumber" name="L179" href="#L179">179</a> writer.write(<span class="jxr_string">"</xml>\n"</span>);
-<a class="jxr_linenumber" name="L180" href="#L180">180</a> }
-<a class="jxr_linenumber" name="L181" href="#L181">181</a> },
-<a class="jxr_linenumber" name="L182" href="#L182">182</a> checkLines(firstLine, secondLine));
-<a class="jxr_linenumber" name="L183" href="#L183">183</a> }
-<a class="jxr_linenumber" name="L184" href="#L184">184</a>
-<a class="jxr_linenumber" name="L185" href="#L185">185</a> @Test
-<a class="jxr_linenumber" name="L186" href="#L186">186</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToHTML() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L187" href="#L187">187</a> String filename = <span class="jxr_string">"tmp.html"</span>;
-<a class="jxr_linenumber" name="L188" href="#L188">188</a> String commentLine = <span class="jxr_string">"<!--"</span>;
-<a class="jxr_linenumber" name="L189" href="#L189">189</a>
-<a class="jxr_linenumber" name="L190" href="#L190">190</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L191" href="#L191">191</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L192" href="#L192">192</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L193" href="#L193">193</a> writer.write(<span class="jxr_string">"<html>\n"</span>);
-<a class="jxr_linenumber" name="L194" href="#L194">194</a> writer.write(<span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L195" href="#L195">195</a> writer.write(<span class="jxr_string">"</html>\n"</span>);
-<a class="jxr_linenumber" name="L196" href="#L196">196</a> }
-<a class="jxr_linenumber" name="L197" href="#L197">197</a> },
-<a class="jxr_linenumber" name="L198" href="#L198">198</a> checkLines(commentLine));
-<a class="jxr_linenumber" name="L199" href="#L199">199</a> }
-<a class="jxr_linenumber" name="L200" href="#L200">200</a>
-<a class="jxr_linenumber" name="L201" href="#L201">201</a> @Test
-<a class="jxr_linenumber" name="L202" href="#L202">202</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToCSS() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L203" href="#L203">203</a> String filename = <span class="jxr_string">"tmp.css"</span>;
-<a class="jxr_linenumber" name="L204" href="#L204">204</a> String firstLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L205" href="#L205">205</a>
-<a class="jxr_linenumber" name="L206" href="#L206">206</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L207" href="#L207">207</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L208" href="#L208">208</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L209" href="#L209">209</a> writer.write(<span class="jxr_string">".class {\n"</span>);
-<a class="jxr_linenumber" name="L210" href="#L210">210</a> writer.write(<span class="jxr_string">" background-color: red;"</span>);
-<a class="jxr_linenumber" name="L211" href="#L211">211</a> writer.write(<span class="jxr_string">"}\n"</span>);
-<a class="jxr_linenumber" name="L212" href="#L212">212</a> }
-<a class="jxr_linenumber" name="L213" href="#L213">213</a> },
-<a class="jxr_linenumber" name="L214" href="#L214">214</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L215" href="#L215">215</a> }
-<a class="jxr_linenumber" name="L216" href="#L216">216</a>
-<a class="jxr_linenumber" name="L217" href="#L217">217</a> @Test
-<a class="jxr_linenumber" name="L218" href="#L218">218</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToJavascript() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L219" href="#L219">219</a> String filename = <span class="jxr_string">"tmp.js"</span>;
-<a class="jxr_linenumber" name="L220" href="#L220">220</a> String firstLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L221" href="#L221">221</a>
-<a class="jxr_linenumber" name="L222" href="#L222">222</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L223" href="#L223">223</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L224" href="#L224">224</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L225" href="#L225">225</a> writer.write(<span class="jxr_string">"if (a ==b) {>\n"</span>);
-<a class="jxr_linenumber" name="L226" href="#L226">226</a> writer.write(<span class="jxr_string">" alert(\"how useful!\");"</span>);
-<a class="jxr_linenumber" name="L227" href="#L227">227</a> writer.write(<span class="jxr_string">"}\n"</span>);
-<a class="jxr_linenumber" name="L228" href="#L228">228</a> }
-<a class="jxr_linenumber" name="L229" href="#L229">229</a> },
-<a class="jxr_linenumber" name="L230" href="#L230">230</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L231" href="#L231">231</a> }
-<a class="jxr_linenumber" name="L232" href="#L232">232</a>
-<a class="jxr_linenumber" name="L233" href="#L233">233</a> @Test
-<a class="jxr_linenumber" name="L234" href="#L234">234</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToAPT() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L235" href="#L235">235</a> String filename = <span class="jxr_string">"tmp.apt"</span>;
-<a class="jxr_linenumber" name="L236" href="#L236">236</a> String firstLine = <span class="jxr_string">"~~"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L237" href="#L237">237</a>
-<a class="jxr_linenumber" name="L238" href="#L238">238</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L239" href="#L239">239</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L240" href="#L240">240</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L241" href="#L241">241</a> writer.write(<span class="jxr_string">"A Simple APT file"</span>);
-<a class="jxr_linenumber" name="L242" href="#L242">242</a> writer.write(<span class="jxr_string">" This file contains nothing\n"</span>);
-<a class="jxr_linenumber" name="L243" href="#L243">243</a> writer.write(<span class="jxr_string">" of any importance\n"</span>);
-<a class="jxr_linenumber" name="L244" href="#L244">244</a> }
-<a class="jxr_linenumber" name="L245" href="#L245">245</a> },
-<a class="jxr_linenumber" name="L246" href="#L246">246</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L247" href="#L247">247</a> }
-<a class="jxr_linenumber" name="L248" href="#L248">248</a>
-<a class="jxr_linenumber" name="L249" href="#L249">249</a> @Test
-<a class="jxr_linenumber" name="L250" href="#L250">250</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToProperties() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L251" href="#L251">251</a> String filename = <span class="jxr_string">"tmp.properties"</span>;
-<a class="jxr_linenumber" name="L252" href="#L252">252</a> String firstLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L253" href="#L253">253</a>
-<a class="jxr_linenumber" name="L254" href="#L254">254</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L255" href="#L255">255</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L256" href="#L256">256</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L257" href="#L257">257</a> writer.write(<span class="jxr_string">"property = value\n"</span>);
-<a class="jxr_linenumber" name="L258" href="#L258">258</a> writer.write(<span class="jxr_string">"fun = true\n"</span>);
-<a class="jxr_linenumber" name="L259" href="#L259">259</a> writer.write(<span class="jxr_string">"cool = true\n"</span>);
-<a class="jxr_linenumber" name="L260" href="#L260">260</a> }
-<a class="jxr_linenumber" name="L261" href="#L261">261</a> },
-<a class="jxr_linenumber" name="L262" href="#L262">262</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L263" href="#L263">263</a> }
-<a class="jxr_linenumber" name="L264" href="#L264">264</a>
-<a class="jxr_linenumber" name="L265" href="#L265">265</a> @Test
-<a class="jxr_linenumber" name="L266" href="#L266">266</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToScala() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L267" href="#L267">267</a> String filename = <span class="jxr_string">"tmp.scala"</span>;
-<a class="jxr_linenumber" name="L268" href="#L268">268</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"package foo {"</span>;
-<a class="jxr_linenumber" name="L269" href="#L269">269</a> <strong class="jxr_keyword">final</strong> String newFirstLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L270" href="#L270">270</a>
-<a class="jxr_linenumber" name="L271" href="#L271">271</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L272" href="#L272">272</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L273" href="#L273">273</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L274" href="#L274">274</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L275" href="#L275">275</a> writer.write(<span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L276" href="#L276">276</a> writer.write(<span class="jxr_string">" object X { val x = 1; }\n"</span>);
-<a class="jxr_linenumber" name="L277" href="#L277">277</a> writer.write(<span class="jxr_string">"}\n"</span>);
-<a class="jxr_linenumber" name="L278" href="#L278">278</a> }
-<a class="jxr_linenumber" name="L279" href="#L279">279</a> },
-<a class="jxr_linenumber" name="L280" href="#L280">280</a> <strong class="jxr_keyword">new</strong> NewFileReader() {
-<a class="jxr_linenumber" name="L281" href="#L281">281</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readFile(BufferedReader reader)
-<a class="jxr_linenumber" name="L282" href="#L282">282</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L283" href="#L283">283</a> String line = reader.readLine();
-<a class="jxr_linenumber" name="L284" href="#L284">284</a> assertEquals(
-<a class="jxr_linenumber" name="L285" href="#L285">285</a> newFirstLine, line, <span class="jxr_string">"First line is incorrect"</span>);
-<a class="jxr_linenumber" name="L286" href="#L286">286</a> <strong class="jxr_keyword">while</strong> ((line = reader.readLine()) != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L287" href="#L287">287</a> <strong class="jxr_keyword">if</strong> (line.length() == 0) {
-<a class="jxr_linenumber" name="L288" href="#L288">288</a> line = reader.readLine();
-<a class="jxr_linenumber" name="L289" href="#L289">289</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L290" href="#L290">290</a> }
-<a class="jxr_linenumber" name="L291" href="#L291">291</a> }
-<a class="jxr_linenumber" name="L292" href="#L292">292</a> assertEquals(
-<a class="jxr_linenumber" name="L293" href="#L293">293</a> firstLine, line, <span class="jxr_string">"Package line is incorrect"</span>);
-<a class="jxr_linenumber" name="L294" href="#L294">294</a> }
-<a class="jxr_linenumber" name="L295" href="#L295">295</a> });
-<a class="jxr_linenumber" name="L296" href="#L296">296</a> }
-<a class="jxr_linenumber" name="L297" href="#L297">297</a>
-<a class="jxr_linenumber" name="L298" href="#L298">298</a> @Test
-<a class="jxr_linenumber" name="L299" href="#L299">299</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToRubyWithoutHashBang()
-<a class="jxr_linenumber" name="L300" href="#L300">300</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L301" href="#L301">301</a> String filename = <span class="jxr_string">"tmp.rb"</span>;
-<a class="jxr_linenumber" name="L302" href="#L302">302</a> String firstLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L303" href="#L303">303</a>
-<a class="jxr_linenumber" name="L304" href="#L304">304</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L305" href="#L305">305</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L306" href="#L306">306</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L307" href="#L307">307</a> writer.write(<span class="jxr_string">"class Foo\n"</span>);
-<a class="jxr_linenumber" name="L308" href="#L308">308</a> writer.write(<span class="jxr_string">"end\n"</span>);
-<a class="jxr_linenumber" name="L309" href="#L309">309</a> }
-<a class="jxr_linenumber" name="L310" href="#L310">310</a> },
-<a class="jxr_linenumber" name="L311" href="#L311">311</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L312" href="#L312">312</a> }
-<a class="jxr_linenumber" name="L313" href="#L313">313</a>
-<a class="jxr_linenumber" name="L314" href="#L314">314</a> @Test
-<a class="jxr_linenumber" name="L315" href="#L315">315</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToRubyWithHashBang() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L316" href="#L316">316</a> String filename = <span class="jxr_string">"tmp.rb"</span>;
-<a class="jxr_linenumber" name="L317" href="#L317">317</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"#!/usr/bin/env ruby"</span>;
-<a class="jxr_linenumber" name="L318" href="#L318">318</a> String secondLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L319" href="#L319">319</a>
-<a class="jxr_linenumber" name="L320" href="#L320">320</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L321" href="#L321">321</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L322" href="#L322">322</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L323" href="#L323">323</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L324" href="#L324">324</a> writer.write(<span class="jxr_string">"class Foo\n"</span>);
-<a class="jxr_linenumber" name="L325" href="#L325">325</a> writer.write(<span class="jxr_string">"end\n"</span>);
-<a class="jxr_linenumber" name="L326" href="#L326">326</a> }
-<a class="jxr_linenumber" name="L327" href="#L327">327</a> },
-<a class="jxr_linenumber" name="L328" href="#L328">328</a> checkLines(firstLine, secondLine));
-<a class="jxr_linenumber" name="L329" href="#L329">329</a> }
-<a class="jxr_linenumber" name="L330" href="#L330">330</a>
-<a class="jxr_linenumber" name="L331" href="#L331">331</a> @Test
-<a class="jxr_linenumber" name="L332" href="#L332">332</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToPerlWithoutHashBang()
-<a class="jxr_linenumber" name="L333" href="#L333">333</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L334" href="#L334">334</a> String filename = <span class="jxr_string">"tmp.pl"</span>;
-<a class="jxr_linenumber" name="L335" href="#L335">335</a> String firstLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L336" href="#L336">336</a>
-<a class="jxr_linenumber" name="L337" href="#L337">337</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L338" href="#L338">338</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L339" href="#L339">339</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L340" href="#L340">340</a> writer.write(<span class="jxr_string">"print \"Hello world\"\n"</span>);
-<a class="jxr_linenumber" name="L341" href="#L341">341</a> }
-<a class="jxr_linenumber" name="L342" href="#L342">342</a> },
-<a class="jxr_linenumber" name="L343" href="#L343">343</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L344" href="#L344">344</a> }
-<a class="jxr_linenumber" name="L345" href="#L345">345</a>
-<a class="jxr_linenumber" name="L346" href="#L346">346</a> @Test
-<a class="jxr_linenumber" name="L347" href="#L347">347</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToPerlWithHashBang() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L348" href="#L348">348</a> String filename = <span class="jxr_string">"tmp.pl"</span>;
-<a class="jxr_linenumber" name="L349" href="#L349">349</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"#!/usr/bin/env perl"</span>;
-<a class="jxr_linenumber" name="L350" href="#L350">350</a> String secondLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L351" href="#L351">351</a>
-<a class="jxr_linenumber" name="L352" href="#L352">352</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L353" href="#L353">353</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L354" href="#L354">354</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L355" href="#L355">355</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L356" href="#L356">356</a> writer.write(<span class="jxr_string">"print \"Hello world\"\n"</span>);
-<a class="jxr_linenumber" name="L357" href="#L357">357</a> }
-<a class="jxr_linenumber" name="L358" href="#L358">358</a> },
-<a class="jxr_linenumber" name="L359" href="#L359">359</a> checkLines(firstLine, secondLine));
-<a class="jxr_linenumber" name="L360" href="#L360">360</a> }
-<a class="jxr_linenumber" name="L361" href="#L361">361</a>
-<a class="jxr_linenumber" name="L362" href="#L362">362</a> @Test
-<a class="jxr_linenumber" name="L363" href="#L363">363</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToPerlModule() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L364" href="#L364">364</a> String filename = <span class="jxr_string">"tmp.pm"</span>;
-<a class="jxr_linenumber" name="L365" href="#L365">365</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"package API::TestAPI;"</span>;
-<a class="jxr_linenumber" name="L366" href="#L366">366</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="L367" href="#L367">367</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L368" href="#L368">368</a>
-<a class="jxr_linenumber" name="L369" href="#L369">369</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L370" href="#L370">370</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L371" href="#L371">371</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L372" href="#L372">372</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L373" href="#L373">373</a> writer.write(<span class="jxr_string">"print \"Hello world\"\n"</span>);
-<a class="jxr_linenumber" name="L374" href="#L374">374</a> }
-<a class="jxr_linenumber" name="L375" href="#L375">375</a> },
-<a class="jxr_linenumber" name="L376" href="#L376">376</a> checkLines(firstLine, secondLine, thirdLine));
-<a class="jxr_linenumber" name="L377" href="#L377">377</a> }
-<a class="jxr_linenumber" name="L378" href="#L378">378</a>
-<a class="jxr_linenumber" name="L379" href="#L379">379</a> @Test
-<a class="jxr_linenumber" name="L380" href="#L380">380</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToTclWithoutHashBang()
-<a class="jxr_linenumber" name="L381" href="#L381">381</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L382" href="#L382">382</a> String filename = <span class="jxr_string">"tmp.tcl"</span>;
-<a class="jxr_linenumber" name="L383" href="#L383">383</a> String firstLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L384" href="#L384">384</a>
-<a class="jxr_linenumber" name="L385" href="#L385">385</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L386" href="#L386">386</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L387" href="#L387">387</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L388" href="#L388">388</a> writer.write(<span class="jxr_string">"puts \"Hello world\"\n"</span>);
-<a class="jxr_linenumber" name="L389" href="#L389">389</a> }
-<a class="jxr_linenumber" name="L390" href="#L390">390</a> },
-<a class="jxr_linenumber" name="L391" href="#L391">391</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L392" href="#L392">392</a> }
-<a class="jxr_linenumber" name="L393" href="#L393">393</a>
-<a class="jxr_linenumber" name="L394" href="#L394">394</a> @Test
-<a class="jxr_linenumber" name="L395" href="#L395">395</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToTclWithHashBang() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L396" href="#L396">396</a> String filename = <span class="jxr_string">"tmp.tcl"</span>;
-<a class="jxr_linenumber" name="L397" href="#L397">397</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"#!/usr/bin/env tcl"</span>;
-<a class="jxr_linenumber" name="L398" href="#L398">398</a> String secondLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L399" href="#L399">399</a>
-<a class="jxr_linenumber" name="L400" href="#L400">400</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L401" href="#L401">401</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L402" href="#L402">402</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L403" href="#L403">403</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L404" href="#L404">404</a> writer.write(<span class="jxr_string">"puts \"Hello world\"\n"</span>);
-<a class="jxr_linenumber" name="L405" href="#L405">405</a> }
-<a class="jxr_linenumber" name="L406" href="#L406">406</a> },
-<a class="jxr_linenumber" name="L407" href="#L407">407</a> checkLines(firstLine, secondLine));
-<a class="jxr_linenumber" name="L408" href="#L408">408</a> }
-<a class="jxr_linenumber" name="L409" href="#L409">409</a>
-<a class="jxr_linenumber" name="L410" href="#L410">410</a> @Test
-<a class="jxr_linenumber" name="L411" href="#L411">411</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToPHP() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L412" href="#L412">412</a> String filename = <span class="jxr_string">"tmp.php"</span>;
-<a class="jxr_linenumber" name="L413" href="#L413">413</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"<?php"</span>;
-<a class="jxr_linenumber" name="L414" href="#L414">414</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="L415" href="#L415">415</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L416" href="#L416">416</a>
-<a class="jxr_linenumber" name="L417" href="#L417">417</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L418" href="#L418">418</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L419" href="#L419">419</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L420" href="#L420">420</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L421" href="#L421">421</a> writer.write(<span class="jxr_string">"echo 'Hello World'\n"</span>);
-<a class="jxr_linenumber" name="L422" href="#L422">422</a> writer.write(<span class="jxr_string">"?>\n"</span>);
-<a class="jxr_linenumber" name="L423" href="#L423">423</a> }
-<a class="jxr_linenumber" name="L424" href="#L424">424</a> },
-<a class="jxr_linenumber" name="L425" href="#L425">425</a> checkLines(firstLine, secondLine, thirdLine));
-<a class="jxr_linenumber" name="L426" href="#L426">426</a> }
-<a class="jxr_linenumber" name="L427" href="#L427">427</a>
-<a class="jxr_linenumber" name="L428" href="#L428">428</a> @Test
-<a class="jxr_linenumber" name="L429" href="#L429">429</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToCSharp() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L430" href="#L430">430</a> String filename = <span class="jxr_string">"tmp.cs"</span>;
-<a class="jxr_linenumber" name="L431" href="#L431">431</a> String firstLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L432" href="#L432">432</a>
-<a class="jxr_linenumber" name="L433" href="#L433">433</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L434" href="#L434">434</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L435" href="#L435">435</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L436" href="#L436">436</a> writer.write(<span class="jxr_string">"namespace org.example {\n"</span>);
-<a class="jxr_linenumber" name="L437" href="#L437">437</a> writer.write(<span class="jxr_string">" public class Foo {\n"</span>);
-<a class="jxr_linenumber" name="L438" href="#L438">438</a> writer.write(<span class="jxr_string">" }\n"</span>);
-<a class="jxr_linenumber" name="L439" href="#L439">439</a> writer.write(<span class="jxr_string">"}\n"</span>);
-<a class="jxr_linenumber" name="L440" href="#L440">440</a> }
-<a class="jxr_linenumber" name="L441" href="#L441">441</a> },
-<a class="jxr_linenumber" name="L442" href="#L442">442</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L443" href="#L443">443</a> }
-<a class="jxr_linenumber" name="L444" href="#L444">444</a>
-<a class="jxr_linenumber" name="L445" href="#L445">445</a> @Test
-<a class="jxr_linenumber" name="L446" href="#L446">446</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToGroovy() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L447" href="#L447">447</a> String filename = <span class="jxr_string">"tmp.groovy"</span>;
-<a class="jxr_linenumber" name="L448" href="#L448">448</a> String firstLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L449" href="#L449">449</a>
-<a class="jxr_linenumber" name="L450" href="#L450">450</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L451" href="#L451">451</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L452" href="#L452">452</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L453" href="#L453">453</a> writer.write(<span class="jxr_string">"package org.example \n"</span>);
-<a class="jxr_linenumber" name="L454" href="#L454">454</a> writer.write(<span class="jxr_string">" class Foo {\n"</span>);
-<a class="jxr_linenumber" name="L455" href="#L455">455</a> writer.write(<span class="jxr_string">" }\n"</span>);
-<a class="jxr_linenumber" name="L456" href="#L456">456</a> }
-<a class="jxr_linenumber" name="L457" href="#L457">457</a> },
-<a class="jxr_linenumber" name="L458" href="#L458">458</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L459" href="#L459">459</a> }
-<a class="jxr_linenumber" name="L460" href="#L460">460</a>
-<a class="jxr_linenumber" name="L461" href="#L461">461</a> @Test
-<a class="jxr_linenumber" name="L462" href="#L462">462</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToCPlusPlus() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L463" href="#L463">463</a> String filename = <span class="jxr_string">"tmp.cpp"</span>;
-<a class="jxr_linenumber" name="L464" href="#L464">464</a> String firstLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L465" href="#L465">465</a>
-<a class="jxr_linenumber" name="L466" href="#L466">466</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L467" href="#L467">467</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L468" href="#L468">468</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L469" href="#L469">469</a> writer.write(<span class="jxr_string">"namespace org.example {\n"</span>);
-<a class="jxr_linenumber" name="L470" href="#L470">470</a> writer.write(<span class="jxr_string">" public class Foo {\n"</span>);
-<a class="jxr_linenumber" name="L471" href="#L471">471</a> writer.write(<span class="jxr_string">" }\n"</span>);
-<a class="jxr_linenumber" name="L472" href="#L472">472</a> writer.write(<span class="jxr_string">"}\n"</span>);
-<a class="jxr_linenumber" name="L473" href="#L473">473</a> }
-<a class="jxr_linenumber" name="L474" href="#L474">474</a> },
-<a class="jxr_linenumber" name="L475" href="#L475">475</a> checkLines(firstLine));
-<a class="jxr_linenumber" name="L476" href="#L476">476</a> }
-<a class="jxr_linenumber" name="L477" href="#L477">477</a>
-<a class="jxr_linenumber" name="L478" href="#L478">478</a> @Test
-<a class="jxr_linenumber" name="L479" href="#L479">479</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToGo() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L480" href="#L480">480</a> String filename = <span class="jxr_string">"tmp.go"</span>;
-<a class="jxr_linenumber" name="L481" href="#L481">481</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"package main"</span>;
-<a class="jxr_linenumber" name="L482" href="#L482">482</a> String secondLine = <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="L483" href="#L483">483</a> String thirdLine = <span class="jxr_string">"/*"</span>;
-<a class="jxr_linenumber" name="L484" href="#L484">484</a>
-<a class="jxr_linenumber" name="L485" href="#L485">485</a>
-<a class="jxr_linenumber" name="L486" href="#L486">486</a>
-<a class="jxr_linenumber" name="L487" href="#L487">487</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L488" href="#L488">488</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L489" href="#L489">489</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L490" href="#L490">490</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L491" href="#L491">491</a> writer.write(<span class="jxr_string">"import (\n"</span>);
-<a class="jxr_linenumber" name="L492" href="#L492">492</a> writer.write(<span class="jxr_string">" log\n"</span>);
-<a class="jxr_linenumber" name="L493" href="#L493">493</a> writer.write(<span class="jxr_string">")\n"</span>);
-<a class="jxr_linenumber" name="L494" href="#L494">494</a> }
-<a class="jxr_linenumber" name="L495" href="#L495">495</a> },
-<a class="jxr_linenumber" name="L496" href="#L496">496</a> checkLines(firstLine, secondLine, thirdLine));
-<a class="jxr_linenumber" name="L497" href="#L497">497</a> }
-<a class="jxr_linenumber" name="L498" href="#L498">498</a>
-<a class="jxr_linenumber" name="L499" href="#L499">499</a> @Test
-<a class="jxr_linenumber" name="L500" href="#L500">500</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fileWithBOM() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L501" href="#L501">501</a> File f = Resources.getResourceFile(<span class="jxr_string">"violations/FilterTest.cs"</span>);
-<a class="jxr_linenumber" name="L502" href="#L502">502</a>
-<a class="jxr_linenumber" name="L503" href="#L503">503</a> ApacheV2LicenseAppender appender =
-<a class="jxr_linenumber" name="L504" href="#L504">504</a> <strong class="jxr_keyword">new</strong> ApacheV2LicenseAppender();
-<a class="jxr_linenumber" name="L505" href="#L505">505</a> appender.append(f);
-<a class="jxr_linenumber" name="L506" href="#L506">506</a>
-<a class="jxr_linenumber" name="L507" href="#L507">507</a> <strong class="jxr_keyword">try</strong> (BufferedReader r = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> FileReader(f.getAbsolutePath()
-<a class="jxr_linenumber" name="L508" href="#L508">508</a> + <span class="jxr_string">".new"</span>))) {
-<a class="jxr_linenumber" name="L509" href="#L509">509</a> assertEquals(<span class="jxr_string">"/*"</span>, r.readLine());
-<a class="jxr_linenumber" name="L510" href="#L510">510</a> String line = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L511" href="#L511">511</a> <strong class="jxr_keyword">while</strong> ((line = r.readLine()) != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L512" href="#L512">512</a> <strong class="jxr_keyword">if</strong> (line.trim().length() == 0) {
-<a class="jxr_linenumber" name="L513" href="#L513">513</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L514" href="#L514">514</a> }
-<a class="jxr_linenumber" name="L515" href="#L515">515</a> }
-<a class="jxr_linenumber" name="L516" href="#L516">516</a> assertEquals(<span class="jxr_string">"#if NET_2_0"</span>, r.readLine());
-<a class="jxr_linenumber" name="L517" href="#L517">517</a> }
-<a class="jxr_linenumber" name="L518" href="#L518">518</a> }
-<a class="jxr_linenumber" name="L519" href="#L519">519</a>
-<a class="jxr_linenumber" name="L520" href="#L520">520</a> @Test
-<a class="jxr_linenumber" name="L521" href="#L521">521</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToVS2003solution() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L522" href="#L522">522</a> String filename = <span class="jxr_string">"tmp.sln"</span>;
-<a class="jxr_linenumber" name="L523" href="#L523">523</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"Microsoft Visual Studio Solution File,"</span>
-<a class="jxr_linenumber" name="L524" href="#L524">524</a> + <span class="jxr_string">" Format Version 8.0"</span>;
-<a class="jxr_linenumber" name="L525" href="#L525">525</a> String secondLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L526" href="#L526">526</a>
-<a class="jxr_linenumber" name="L527" href="#L527">527</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L528" href="#L528">528</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L529" href="#L529">529</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L530" href="#L530">530</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L531" href="#L531">531</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"ConsoleApp\", \"Tutorials\\ConsoleApp\\cs\\src\\ConsoleApp.csproj\", \"{933969DF-2BC5-44E6-8B1A-400FC276A23F}\"\n"</span>);
-<a class="jxr_linenumber" name="L532" href="#L532">532</a> writer.write(<span class="jxr_string">"\tProjectSection(WebsiteProperties) = preProject\n"</span>);
-<a class="jxr_linenumber" name="L533" href="#L533">533</a> writer.write(<span class="jxr_string">"\t\tDebug.AspNetCompiler.Debug = \"True\"\n"</span>);
-<a class="jxr_linenumber" name="L534" href="#L534">534</a> writer.write(<span class="jxr_string">"\t\tRelease.AspNetCompiler.Debug = \"False\"\n"</span>);
-<a class="jxr_linenumber" name="L535" href="#L535">535</a> writer.write(<span class="jxr_string">"\tEndProjectSection\n"</span>);
-<a class="jxr_linenumber" name="L536" href="#L536">536</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
-<a class="jxr_linenumber" name="L537" href="#L537">537</a> }
-<a class="jxr_linenumber" name="L538" href="#L538">538</a> },
-<a class="jxr_linenumber" name="L539" href="#L539">539</a> checkLines(firstLine, secondLine));
-<a class="jxr_linenumber" name="L540" href="#L540">540</a> }
-<a class="jxr_linenumber" name="L541" href="#L541">541</a>
-<a class="jxr_linenumber" name="L542" href="#L542">542</a> @Test
-<a class="jxr_linenumber" name="L543" href="#L543">543</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToVS2005solution() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L544" href="#L544">544</a> String filename = <span class="jxr_string">"tmp.sln"</span>;
-<a class="jxr_linenumber" name="L545" href="#L545">545</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"Microsoft Visual Studio Solution File,"</span>
-<a class="jxr_linenumber" name="L546" href="#L546">546</a> + <span class="jxr_string">" Format Version 9.0"</span>;
-<a class="jxr_linenumber" name="L547" href="#L547">547</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">"# Visual Studio 2005"</span>;
-<a class="jxr_linenumber" name="L548" href="#L548">548</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L549" href="#L549">549</a>
-<a class="jxr_linenumber" name="L550" href="#L550">550</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L551" href="#L551">551</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L552" href="#L552">552</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L553" href="#L553">553</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L554" href="#L554">554</a> writer.write(secondLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L555" href="#L555">555</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"ConsoleApp\", \"Tutorials\\ConsoleApp\\cs\\src\\ConsoleApp.csproj\", \"{933969DF-2BC5-44E6-8B1A-400FC276A23F}\"\n"</span>);
-<a class="jxr_linenumber" name="L556" href="#L556">556</a> writer.write(<span class="jxr_string">"\tProjectSection(WebsiteProperties) = preProject\n"</span>);
-<a class="jxr_linenumber" name="L557" href="#L557">557</a> writer.write(<span class="jxr_string">"\t\tDebug.AspNetCompiler.Debug = \"True\"\n"</span>);
-<a class="jxr_linenumber" name="L558" href="#L558">558</a> writer.write(<span class="jxr_string">"\t\tRelease.AspNetCompiler.Debug = \"False\"\n"</span>);
-<a class="jxr_linenumber" name="L559" href="#L559">559</a> writer.write(<span class="jxr_string">"\tEndProjectSection\n"</span>);
-<a class="jxr_linenumber" name="L560" href="#L560">560</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
-<a class="jxr_linenumber" name="L561" href="#L561">561</a> }
-<a class="jxr_linenumber" name="L562" href="#L562">562</a> },
-<a class="jxr_linenumber" name="L563" href="#L563">563</a> checkLines(firstLine, secondLine, thirdLine)
-<a class="jxr_linenumber" name="L564" href="#L564">564</a> );
-<a class="jxr_linenumber" name="L565" href="#L565">565</a> }
-<a class="jxr_linenumber" name="L566" href="#L566">566</a>
-<a class="jxr_linenumber" name="L567" href="#L567">567</a> @Test
-<a class="jxr_linenumber" name="L568" href="#L568">568</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToVS2010ExpressSolution() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L569" href="#L569">569</a> String filename = <span class="jxr_string">"tmp.sln"</span>;
-<a class="jxr_linenumber" name="L570" href="#L570">570</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"Microsoft Visual Studio Solution File, "</span>
-<a class="jxr_linenumber" name="L571" href="#L571">571</a> + <span class="jxr_string">"Format Version 11.00"</span>;
-<a class="jxr_linenumber" name="L572" href="#L572">572</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">"# Visual C# Express 2010"</span>;
-<a class="jxr_linenumber" name="L573" href="#L573">573</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L574" href="#L574">574</a>
-<a class="jxr_linenumber" name="L575" href="#L575">575</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L576" href="#L576">576</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L577" href="#L577">577</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L578" href="#L578">578</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L579" href="#L579">579</a> writer.write(secondLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L580" href="#L580">580</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Lucene.Net\", \"..\\..\\..\\src\\core\\Lucene.Net.csproj\", \"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}\"\n"</span>);
-<a class="jxr_linenumber" name="L581" href="#L581">581</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
-<a class="jxr_linenumber" name="L582" href="#L582">582</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Contrib.Highlighter\", \"..\\..\\..\\src\\contrib\\Highlighter\\Contrib.Highlighter.csproj\", \"{901D5415-383C-4AA6-A256-879558841BEA}\"\n"</span>);
-<a class="jxr_linenumber" name="L583" href="#L583">583</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
-<a class="jxr_linenumber" name="L584" href="#L584">584</a> writer.write(<span class="jxr_string">"Global\n"</span>);
-<a class="jxr_linenumber" name="L585" href="#L585">585</a> writer.write(<span class="jxr_string">"GlobalSection(SolutionConfigurationPlatforms) = preSolution\n"</span>);
-<a class="jxr_linenumber" name="L586" href="#L586">586</a> writer.write(<span class="jxr_string">"Debug|Any CPU = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L587" href="#L587">587</a> writer.write(<span class="jxr_string">"Release|Any CPU = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L588" href="#L588">588</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
-<a class="jxr_linenumber" name="L589" href="#L589">589</a> writer.write(<span class="jxr_string">"GlobalSection(ProjectConfigurationPlatforms) = postSolution\n"</span>);
-<a class="jxr_linenumber" name="L590" href="#L590">590</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L591" href="#L591">591</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Debug|Any CPU.Build.0 = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L592" href="#L592">592</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Release|Any CPU.ActiveCfg = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L593" href="#L593">593</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Release|Any CPU.Build.0 = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L594" href="#L594">594</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L595" href="#L595">595</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Debug|Any CPU.Build.0 = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L596" href="#L596">596</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Release|Any CPU.ActiveCfg = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L597" href="#L597">597</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Release|Any CPU.Build.0 = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L598" href="#L598">598</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
-<a class="jxr_linenumber" name="L599" href="#L599">599</a> writer.write(<span class="jxr_string">"GlobalSection(SolutionProperties) = preSolution\n"</span>);
-<a class="jxr_linenumber" name="L600" href="#L600">600</a> writer.write(<span class="jxr_string">"HideSolutionNode = FALSE\n"</span>);
-<a class="jxr_linenumber" name="L601" href="#L601">601</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
-<a class="jxr_linenumber" name="L602" href="#L602">602</a> writer.write(<span class="jxr_string">"EndGlobal \n"</span>);
-<a class="jxr_linenumber" name="L603" href="#L603">603</a> }
-<a class="jxr_linenumber" name="L604" href="#L604">604</a> },
-<a class="jxr_linenumber" name="L605" href="#L605">605</a> checkLines(firstLine, secondLine, thirdLine)
-<a class="jxr_linenumber" name="L606" href="#L606">606</a> );
-<a class="jxr_linenumber" name="L607" href="#L607">607</a> }
-<a class="jxr_linenumber" name="L608" href="#L608">608</a>
-<a class="jxr_linenumber" name="L609" href="#L609">609</a> @Test
-<a class="jxr_linenumber" name="L610" href="#L610">610</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToVS2010SolutionWithBlankLine() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L611" href="#L611">611</a> String filename = <span class="jxr_string">"tmp.sln"</span>;
-<a class="jxr_linenumber" name="L612" href="#L612">612</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="L613" href="#L613">613</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">"Microsoft Visual Studio Solution File, "</span>
-<a class="jxr_linenumber" name="L614" href="#L614">614</a> + <span class="jxr_string">"Format Version 11.00"</span>;
-<a class="jxr_linenumber" name="L615" href="#L615">615</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"# Visual C# Express 2010"</span>;
-<a class="jxr_linenumber" name="L616" href="#L616">616</a> <strong class="jxr_keyword">final</strong> String forthLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
-<a class="jxr_linenumber" name="L617" href="#L617">617</a>
-<a class="jxr_linenumber" name="L618" href="#L618">618</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L619" href="#L619">619</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L620" href="#L620">620</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L621" href="#L621">621</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L622" href="#L622">622</a> writer.write(secondLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L623" href="#L623">623</a> writer.write(thirdLine + <span class="jxr_string">"\n"</span>);
-<a class="jxr_linenumber" name="L624" href="#L624">624</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Lucene.Net\", \"..\\..\\..\\src\\core\\Lucene.Net.csproj\", \"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}\"\n"</span>);
-<a class="jxr_linenumber" name="L625" href="#L625">625</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
-<a class="jxr_linenumber" name="L626" href="#L626">626</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Contrib.Highlighter\", \"..\\..\\..\\src\\contrib\\Highlighter\\Contrib.Highlighter.csproj\", \"{901D5415-383C-4AA6-A256-879558841BEA}\"\n"</span>);
-<a class="jxr_linenumber" name="L627" href="#L627">627</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
-<a class="jxr_linenumber" name="L628" href="#L628">628</a> writer.write(<span class="jxr_string">"Global\n"</span>);
-<a class="jxr_linenumber" name="L629" href="#L629">629</a> writer.write(<span class="jxr_string">"GlobalSection(SolutionConfigurationPlatforms) = preSolution\n"</span>);
-<a class="jxr_linenumber" name="L630" href="#L630">630</a> writer.write(<span class="jxr_string">"Debug|Any CPU = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L631" href="#L631">631</a> writer.write(<span class="jxr_string">"Release|Any CPU = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L632" href="#L632">632</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
-<a class="jxr_linenumber" name="L633" href="#L633">633</a> writer.write(<span class="jxr_string">"GlobalSection(ProjectConfigurationPlatforms) = postSolution\n"</span>);
-<a class="jxr_linenumber" name="L634" href="#L634">634</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L635" href="#L635">635</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Debug|Any CPU.Build.0 = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L636" href="#L636">636</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Release|Any CPU.ActiveCfg = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L637" href="#L637">637</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Release|Any CPU.Build.0 = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L638" href="#L638">638</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L639" href="#L639">639</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Debug|Any CPU.Build.0 = Debug|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L640" href="#L640">640</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Release|Any CPU.ActiveCfg = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L641" href="#L641">641</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Release|Any CPU.Build.0 = Release|Any CPU\n"</span>);
-<a class="jxr_linenumber" name="L642" href="#L642">642</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
-<a class="jxr_linenumber" name="L643" href="#L643">643</a> writer.write(<span class="jxr_string">"GlobalSection(SolutionProperties) = preSolution\n"</span>);
-<a class="jxr_linenumber" name="L644" href="#L644">644</a> writer.write(<span class="jxr_string">"HideSolutionNode = FALSE\n"</span>);
-<a class="jxr_linenumber" name="L645" href="#L645">645</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
-<a class="jxr_linenumber" name="L646" href="#L646">646</a> writer.write(<span class="jxr_string">"EndGlobal \n"</span>);
-<a class="jxr_linenumber" name="L647" href="#L647">647</a> }
-<a class="jxr_linenumber" name="L648" href="#L648">648</a> },
-<a class="jxr_linenumber" name="L649" href="#L649">649</a> checkLines(firstLine, secondLine, thirdLine, forthLine)
-<a class="jxr_linenumber" name="L650" href="#L650">650</a> );
-<a class="jxr_linenumber" name="L651" href="#L651">651</a> }
-<a class="jxr_linenumber" name="L652" href="#L652">652</a>
-<a class="jxr_linenumber" name="L653" href="#L653">653</a> @Test
-<a class="jxr_linenumber" name="L654" href="#L654">654</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseMarkdown() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L655" href="#L655">655</a> String filename = <span class="jxr_string">"tmp.md"</span>;
-<a class="jxr_linenumber" name="L656" href="#L656">656</a>
-<a class="jxr_linenumber" name="L657" href="#L657">657</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
-<a class="jxr_linenumber" name="L658" href="#L658">658</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
-<a class="jxr_linenumber" name="L659" href="#L659">659</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L660" href="#L660">660</a> writer.write(<span class="jxr_string">"## This is the first header\n"</span>);
-<a class="jxr_linenumber" name="L661" href="#L661">661</a> writer.write(<span class="jxr_string">" * this is a list entry\n"</span>);
-<a class="jxr_linenumber" name="L662" href="#L662">662</a> writer.write(<span class="jxr_string">" * this is another list entry\n"</span>);
-<a class="jxr_linenumber" name="L663" href="#L663">663</a> writer.write(<span class="jxr_string">" <!-- this is a comment line -->"</span>);
-<a class="jxr_linenumber" name="L664" href="#L664">664</a> writer.write(<span class="jxr_string">"## This is the second header\n"</span>);
-<a class="jxr_linenumber" name="L665" href="#L665">665</a> }
-<a class="jxr_linenumber" name="L666" href="#L666">666</a> },
-<a class="jxr_linenumber" name="L667" href="#L667">667</a> <strong class="jxr_keyword">new</strong> NewFileReader() {
-<a class="jxr_linenumber" name="L668" href="#L668">668</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readFile(BufferedReader r) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L669" href="#L669">669</a> String line = r.readLine();
-<a class="jxr_linenumber" name="L670" href="#L670">670</a> assertEquals(
-<a class="jxr_linenumber" name="L671" href="#L671">671</a> <span class="jxr_string">"<!--"</span>, line, <span class="jxr_string">"First line is incorrect"</span>);
-<a class="jxr_linenumber" name="L672" href="#L672">672</a> line = r.readLine();
-<a class="jxr_linenumber" name="L673" href="#L673">673</a> }
-<a class="jxr_linenumber" name="L674" href="#L674">674</a> });
-<a class="jxr_linenumber" name="L675" href="#L675">675</a> }
-<a class="jxr_linenumber" name="L676" href="#L676">676</a> }
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.DefaultLog;
+<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
+<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.io.TempDir;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="TestLicenseAppender" href="../../../../org/apache/rat/annotation/TestLicenseAppender.html#TestLicenseAppender">TestLicenseAppender</a> {
+<a class="jxr_linenumber" name="L38" href="#L38">38</a>
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> @TempDir
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">private</strong> File baseTempFolder;
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FIRST_LICENSE_LINE = <span class="jxr_string">" Licensed to the Apache Software Foundation (ASF) under one"</span>;
+<a class="jxr_linenumber" name="L44" href="#L44">44</a>
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">interface</strong> FileCreator {
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">void</strong> createFile(Writer w) <strong class="jxr_keyword">throws</strong> IOException;
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> }
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">interface</strong> NewFileReader {
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">void</strong> readFile(BufferedReader r) <strong class="jxr_keyword">throws</strong> IOException;
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> }
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">private</strong> String getTemporaryFileWithName(String fileName) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">if</strong> (fileName != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File(baseTempFolder,fileName).getAbsolutePath();
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> }
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">return</strong> File.createTempFile(<span class="jxr_string">"tla"</span>, <strong class="jxr_keyword">null</strong>, baseTempFolder).getAbsolutePath();
+<a class="jxr_linenumber" name="L58" href="#L58">58</a> }
+<a class="jxr_linenumber" name="L59" href="#L59">59</a>
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> createTestFile(String fileName,
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> FileCreator creator)
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">try</strong> (FileWriter w = <strong class="jxr_keyword">new</strong> FileWriter(fileName)) {
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> creator.createFile(w);
+<a class="jxr_linenumber" name="L65" href="#L65">65</a> }
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> }
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> commonTestTemplate(String relativeName,
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> FileCreator creator,
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> NewFileReader reader)
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> String name = getTemporaryFileWithName(relativeName);
+<a class="jxr_linenumber" name="L73" href="#L73">73</a>
+<a class="jxr_linenumber" name="L74" href="#L74">74</a> createTestFile(name, creator);
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> ApacheV2LicenseAppender appender =
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">new</strong> ApacheV2LicenseAppender(DefaultLog.INSTANCE);
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> appender.append(<strong class="jxr_keyword">new</strong> File(name));
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">try</strong> (BufferedReader r = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> FileReader(name + <span class="jxr_string">".new"</span>))){
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> reader.readFile(r);
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> }
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> FileUtils.delete( <strong class="jxr_keyword">new</strong> File(name+<span class="jxr_string">".new"</span>));
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> FileUtils.delete( <strong class="jxr_keyword">new</strong> File(name));
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> }
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> NewFileReader checkLines(<strong class="jxr_keyword">final</strong> String ... lines) {
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> NewFileReader() {
+<a class="jxr_linenumber" name="L89" href="#L89">89</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readFile(BufferedReader r) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L90" href="#L90">90</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i<lines.length; i++) {
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> String line = r.readLine();
+<a class="jxr_linenumber" name="L92" href="#L92">92</a> assertEquals(lines[i], line, String.format(<span class="jxr_string">"Line %s is incorrect"</span>,i));
+<a class="jxr_linenumber" name="L93" href="#L93">93</a> }
+<a class="jxr_linenumber" name="L94" href="#L94">94</a> }
+<a class="jxr_linenumber" name="L95" href="#L95">95</a> };
+<a class="jxr_linenumber" name="L96" href="#L96">96</a> }
+<a class="jxr_linenumber" name="L97" href="#L97">97</a>
+<a class="jxr_linenumber" name="L98" href="#L98">98</a> @Test
+<a class="jxr_linenumber" name="L99" href="#L99">99</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToUnknownFile() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> String filename = getTemporaryFileWithName(<strong class="jxr_keyword">null</strong>);
+<a class="jxr_linenumber" name="L101" href="#L101">101</a> createTestFile(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L103" href="#L103">103</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L104" href="#L104">104</a> writer.write(<span class="jxr_string">"Unknown file type\n"</span>);
+<a class="jxr_linenumber" name="L105" href="#L105">105</a> }
+<a class="jxr_linenumber" name="L106" href="#L106">106</a> });
+<a class="jxr_linenumber" name="L107" href="#L107">107</a>
+<a class="jxr_linenumber" name="L108" href="#L108">108</a> File file = <strong class="jxr_keyword">new</strong> File(filename);
+<a class="jxr_linenumber" name="L109" href="#L109">109</a> file.deleteOnExit();
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> ApacheV2LicenseAppender appender =
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> <strong class="jxr_keyword">new</strong> ApacheV2LicenseAppender(DefaultLog.INSTANCE);
+<a class="jxr_linenumber" name="L112" href="#L112">112</a> appender.append(file);
+<a class="jxr_linenumber" name="L113" href="#L113">113</a>
+<a class="jxr_linenumber" name="L114" href="#L114">114</a> File newFile = <strong class="jxr_keyword">new</strong> File(filename + <span class="jxr_string">".new"</span>);
+<a class="jxr_linenumber" name="L115" href="#L115">115</a> newFile.deleteOnExit();
+<a class="jxr_linenumber" name="L116" href="#L116">116</a> assertFalse(newFile.exists(), <span class="jxr_string">"No new file should have been written"</span>);
+<a class="jxr_linenumber" name="L117" href="#L117">117</a> }
+<a class="jxr_linenumber" name="L118" href="#L118">118</a>
+<a class="jxr_linenumber" name="L119" href="#L119">119</a> @Test
+<a class="jxr_linenumber" name="L120" href="#L120">120</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToJava() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L121" href="#L121">121</a> String filename = <span class="jxr_string">"tmp.java"</span>;
+<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"package foo;"</span>;
+<a class="jxr_linenumber" name="L123" href="#L123">123</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="L124" href="#L124">124</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L125" href="#L125">125</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L126" href="#L126">126</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L127" href="#L127">127</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L128" href="#L128">128</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L129" href="#L129">129</a> writer.write(<span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L130" href="#L130">130</a> writer.write(<span class="jxr_string">"public class test {\n"</span>);
+<a class="jxr_linenumber" name="L131" href="#L131">131</a> writer.write(<span class="jxr_string">"}\n"</span>);
+<a class="jxr_linenumber" name="L132" href="#L132">132</a> }
+<a class="jxr_linenumber" name="L133" href="#L133">133</a> },
+<a class="jxr_linenumber" name="L134" href="#L134">134</a> checkLines(firstLine, secondLine, thirdLine));
+<a class="jxr_linenumber" name="L135" href="#L135">135</a> }
+<a class="jxr_linenumber" name="L136" href="#L136">136</a>
+<a class="jxr_linenumber" name="L137" href="#L137">137</a> @Test
+<a class="jxr_linenumber" name="L138" href="#L138">138</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToJavaWithoutPackage() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L139" href="#L139">139</a> String filename = <span class="jxr_string">"tmp.java"</span>;
+<a class="jxr_linenumber" name="L140" href="#L140">140</a> String commentLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L141" href="#L141">141</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L142" href="#L142">142</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L143" href="#L143">143</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L144" href="#L144">144</a> writer.write(<span class="jxr_string">"public class test {\n"</span>);
+<a class="jxr_linenumber" name="L145" href="#L145">145</a> writer.write(<span class="jxr_string">"}\n"</span>);
+<a class="jxr_linenumber" name="L146" href="#L146">146</a> }
+<a class="jxr_linenumber" name="L147" href="#L147">147</a> },
+<a class="jxr_linenumber" name="L148" href="#L148">148</a> checkLines(commentLine));
+<a class="jxr_linenumber" name="L149" href="#L149">149</a> }
+<a class="jxr_linenumber" name="L150" href="#L150">150</a>
+<a class="jxr_linenumber" name="L151" href="#L151">151</a> @Test
+<a class="jxr_linenumber" name="L152" href="#L152">152</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToXML() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L153" href="#L153">153</a> String filename = <span class="jxr_string">"tmp.xml"</span>;
+<a class="jxr_linenumber" name="L154" href="#L154">154</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"<?xml version='1.0'?>"</span>;
+<a class="jxr_linenumber" name="L155" href="#L155">155</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="L156" href="#L156">156</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"<!--"</span>;
+<a class="jxr_linenumber" name="L157" href="#L157">157</a>
+<a class="jxr_linenumber" name="L158" href="#L158">158</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L159" href="#L159">159</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L160" href="#L160">160</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L161" href="#L161">161</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L162" href="#L162">162</a> writer.write(<span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L163" href="#L163">163</a> writer.write(<span class="jxr_string">"<xml>\n"</span>);
+<a class="jxr_linenumber" name="L164" href="#L164">164</a> writer.write(<span class="jxr_string">"</xml>\n"</span>);
+<a class="jxr_linenumber" name="L165" href="#L165">165</a> }
+<a class="jxr_linenumber" name="L166" href="#L166">166</a> },
+<a class="jxr_linenumber" name="L167" href="#L167">167</a> checkLines(firstLine, secondLine, thirdLine));
+<a class="jxr_linenumber" name="L168" href="#L168">168</a> }
+<a class="jxr_linenumber" name="L169" href="#L169">169</a>
+<a class="jxr_linenumber" name="L170" href="#L170">170</a> @Test
+<a class="jxr_linenumber" name="L171" href="#L171">171</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToXMLWithoutDecl() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L172" href="#L172">172</a> String filename = <span class="jxr_string">"tmp.xml"</span>;
+<a class="jxr_linenumber" name="L173" href="#L173">173</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"<?xml version='1.0'?>"</span>;
+<a class="jxr_linenumber" name="L174" href="#L174">174</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">"<!--"</span>;
+<a class="jxr_linenumber" name="L175" href="#L175">175</a>
+<a class="jxr_linenumber" name="L176" href="#L176">176</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L177" href="#L177">177</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L178" href="#L178">178</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L179" href="#L179">179</a> writer.write(<span class="jxr_string">"<xml>\n"</span>);
+<a class="jxr_linenumber" name="L180" href="#L180">180</a> writer.write(<span class="jxr_string">"</xml>\n"</span>);
+<a class="jxr_linenumber" name="L181" href="#L181">181</a> }
+<a class="jxr_linenumber" name="L182" href="#L182">182</a> },
+<a class="jxr_linenumber" name="L183" href="#L183">183</a> checkLines(firstLine, secondLine));
+<a class="jxr_linenumber" name="L184" href="#L184">184</a> }
+<a class="jxr_linenumber" name="L185" href="#L185">185</a>
+<a class="jxr_linenumber" name="L186" href="#L186">186</a> @Test
+<a class="jxr_linenumber" name="L187" href="#L187">187</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToHTML() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L188" href="#L188">188</a> String filename = <span class="jxr_string">"tmp.html"</span>;
+<a class="jxr_linenumber" name="L189" href="#L189">189</a> String commentLine = <span class="jxr_string">"<!--"</span>;
+<a class="jxr_linenumber" name="L190" href="#L190">190</a>
+<a class="jxr_linenumber" name="L191" href="#L191">191</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L192" href="#L192">192</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L193" href="#L193">193</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L194" href="#L194">194</a> writer.write(<span class="jxr_string">"<html>\n"</span>);
+<a class="jxr_linenumber" name="L195" href="#L195">195</a> writer.write(<span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L196" href="#L196">196</a> writer.write(<span class="jxr_string">"</html>\n"</span>);
+<a class="jxr_linenumber" name="L197" href="#L197">197</a> }
+<a class="jxr_linenumber" name="L198" href="#L198">198</a> },
+<a class="jxr_linenumber" name="L199" href="#L199">199</a> checkLines(commentLine));
+<a class="jxr_linenumber" name="L200" href="#L200">200</a> }
+<a class="jxr_linenumber" name="L201" href="#L201">201</a>
+<a class="jxr_linenumber" name="L202" href="#L202">202</a> @Test
+<a class="jxr_linenumber" name="L203" href="#L203">203</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToCSS() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L204" href="#L204">204</a> String filename = <span class="jxr_string">"tmp.css"</span>;
+<a class="jxr_linenumber" name="L205" href="#L205">205</a> String firstLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L206" href="#L206">206</a>
+<a class="jxr_linenumber" name="L207" href="#L207">207</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L208" href="#L208">208</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L209" href="#L209">209</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L210" href="#L210">210</a> writer.write(<span class="jxr_string">".class {\n"</span>);
+<a class="jxr_linenumber" name="L211" href="#L211">211</a> writer.write(<span class="jxr_string">" background-color: red;"</span>);
+<a class="jxr_linenumber" name="L212" href="#L212">212</a> writer.write(<span class="jxr_string">"}\n"</span>);
+<a class="jxr_linenumber" name="L213" href="#L213">213</a> }
+<a class="jxr_linenumber" name="L214" href="#L214">214</a> },
+<a class="jxr_linenumber" name="L215" href="#L215">215</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L216" href="#L216">216</a> }
+<a class="jxr_linenumber" name="L217" href="#L217">217</a>
+<a class="jxr_linenumber" name="L218" href="#L218">218</a> @Test
+<a class="jxr_linenumber" name="L219" href="#L219">219</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToJavascript() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L220" href="#L220">220</a> String filename = <span class="jxr_string">"tmp.js"</span>;
+<a class="jxr_linenumber" name="L221" href="#L221">221</a> String firstLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L222" href="#L222">222</a>
+<a class="jxr_linenumber" name="L223" href="#L223">223</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L224" href="#L224">224</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L225" href="#L225">225</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L226" href="#L226">226</a> writer.write(<span class="jxr_string">"if (a ==b) {>\n"</span>);
+<a class="jxr_linenumber" name="L227" href="#L227">227</a> writer.write(<span class="jxr_string">" alert(\"how useful!\");"</span>);
+<a class="jxr_linenumber" name="L228" href="#L228">228</a> writer.write(<span class="jxr_string">"}\n"</span>);
+<a class="jxr_linenumber" name="L229" href="#L229">229</a> }
+<a class="jxr_linenumber" name="L230" href="#L230">230</a> },
+<a class="jxr_linenumber" name="L231" href="#L231">231</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L232" href="#L232">232</a> }
+<a class="jxr_linenumber" name="L233" href="#L233">233</a>
+<a class="jxr_linenumber" name="L234" href="#L234">234</a> @Test
+<a class="jxr_linenumber" name="L235" href="#L235">235</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToAPT() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L236" href="#L236">236</a> String filename = <span class="jxr_string">"tmp.apt"</span>;
+<a class="jxr_linenumber" name="L237" href="#L237">237</a> String firstLine = <span class="jxr_string">"~~"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L238" href="#L238">238</a>
+<a class="jxr_linenumber" name="L239" href="#L239">239</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L240" href="#L240">240</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L241" href="#L241">241</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L242" href="#L242">242</a> writer.write(<span class="jxr_string">"A Simple APT file"</span>);
+<a class="jxr_linenumber" name="L243" href="#L243">243</a> writer.write(<span class="jxr_string">" This file contains nothing\n"</span>);
+<a class="jxr_linenumber" name="L244" href="#L244">244</a> writer.write(<span class="jxr_string">" of any importance\n"</span>);
+<a class="jxr_linenumber" name="L245" href="#L245">245</a> }
+<a class="jxr_linenumber" name="L246" href="#L246">246</a> },
+<a class="jxr_linenumber" name="L247" href="#L247">247</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L248" href="#L248">248</a> }
+<a class="jxr_linenumber" name="L249" href="#L249">249</a>
+<a class="jxr_linenumber" name="L250" href="#L250">250</a> @Test
+<a class="jxr_linenumber" name="L251" href="#L251">251</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToProperties() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L252" href="#L252">252</a> String filename = <span class="jxr_string">"tmp.properties"</span>;
+<a class="jxr_linenumber" name="L253" href="#L253">253</a> String firstLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L254" href="#L254">254</a>
+<a class="jxr_linenumber" name="L255" href="#L255">255</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L256" href="#L256">256</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L257" href="#L257">257</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L258" href="#L258">258</a> writer.write(<span class="jxr_string">"property = value\n"</span>);
+<a class="jxr_linenumber" name="L259" href="#L259">259</a> writer.write(<span class="jxr_string">"fun = true\n"</span>);
+<a class="jxr_linenumber" name="L260" href="#L260">260</a> writer.write(<span class="jxr_string">"cool = true\n"</span>);
+<a class="jxr_linenumber" name="L261" href="#L261">261</a> }
+<a class="jxr_linenumber" name="L262" href="#L262">262</a> },
+<a class="jxr_linenumber" name="L263" href="#L263">263</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L264" href="#L264">264</a> }
+<a class="jxr_linenumber" name="L265" href="#L265">265</a>
+<a class="jxr_linenumber" name="L266" href="#L266">266</a> @Test
+<a class="jxr_linenumber" name="L267" href="#L267">267</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToScala() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L268" href="#L268">268</a> String filename = <span class="jxr_string">"tmp.scala"</span>;
+<a class="jxr_linenumber" name="L269" href="#L269">269</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"package foo {"</span>;
+<a class="jxr_linenumber" name="L270" href="#L270">270</a> <strong class="jxr_keyword">final</strong> String newFirstLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L271" href="#L271">271</a>
+<a class="jxr_linenumber" name="L272" href="#L272">272</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L273" href="#L273">273</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L274" href="#L274">274</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L275" href="#L275">275</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L276" href="#L276">276</a> writer.write(<span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L277" href="#L277">277</a> writer.write(<span class="jxr_string">" object X { val x = 1; }\n"</span>);
+<a class="jxr_linenumber" name="L278" href="#L278">278</a> writer.write(<span class="jxr_string">"}\n"</span>);
+<a class="jxr_linenumber" name="L279" href="#L279">279</a> }
+<a class="jxr_linenumber" name="L280" href="#L280">280</a> },
+<a class="jxr_linenumber" name="L281" href="#L281">281</a> <strong class="jxr_keyword">new</strong> NewFileReader() {
+<a class="jxr_linenumber" name="L282" href="#L282">282</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readFile(BufferedReader reader)
+<a class="jxr_linenumber" name="L283" href="#L283">283</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L284" href="#L284">284</a> String line = reader.readLine();
+<a class="jxr_linenumber" name="L285" href="#L285">285</a> assertEquals(
+<a class="jxr_linenumber" name="L286" href="#L286">286</a> newFirstLine, line, <span class="jxr_string">"First line is incorrect"</span>);
+<a class="jxr_linenumber" name="L287" href="#L287">287</a> <strong class="jxr_keyword">while</strong> ((line = reader.readLine()) != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L288" href="#L288">288</a> <strong class="jxr_keyword">if</strong> (line.length() == 0) {
+<a class="jxr_linenumber" name="L289" href="#L289">289</a> line = reader.readLine();
+<a class="jxr_linenumber" name="L290" href="#L290">290</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L291" href="#L291">291</a> }
+<a class="jxr_linenumber" name="L292" href="#L292">292</a> }
+<a class="jxr_linenumber" name="L293" href="#L293">293</a> assertEquals(
+<a class="jxr_linenumber" name="L294" href="#L294">294</a> firstLine, line, <span class="jxr_string">"Package line is incorrect"</span>);
+<a class="jxr_linenumber" name="L295" href="#L295">295</a> }
+<a class="jxr_linenumber" name="L296" href="#L296">296</a> });
+<a class="jxr_linenumber" name="L297" href="#L297">297</a> }
+<a class="jxr_linenumber" name="L298" href="#L298">298</a>
+<a class="jxr_linenumber" name="L299" href="#L299">299</a> @Test
+<a class="jxr_linenumber" name="L300" href="#L300">300</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToRubyWithoutHashBang()
+<a class="jxr_linenumber" name="L301" href="#L301">301</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L302" href="#L302">302</a> String filename = <span class="jxr_string">"tmp.rb"</span>;
+<a class="jxr_linenumber" name="L303" href="#L303">303</a> String firstLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L304" href="#L304">304</a>
+<a class="jxr_linenumber" name="L305" href="#L305">305</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L306" href="#L306">306</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L307" href="#L307">307</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L308" href="#L308">308</a> writer.write(<span class="jxr_string">"class Foo\n"</span>);
+<a class="jxr_linenumber" name="L309" href="#L309">309</a> writer.write(<span class="jxr_string">"end\n"</span>);
+<a class="jxr_linenumber" name="L310" href="#L310">310</a> }
+<a class="jxr_linenumber" name="L311" href="#L311">311</a> },
+<a class="jxr_linenumber" name="L312" href="#L312">312</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L313" href="#L313">313</a> }
+<a class="jxr_linenumber" name="L314" href="#L314">314</a>
+<a class="jxr_linenumber" name="L315" href="#L315">315</a> @Test
+<a class="jxr_linenumber" name="L316" href="#L316">316</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToRubyWithHashBang() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L317" href="#L317">317</a> String filename = <span class="jxr_string">"tmp.rb"</span>;
+<a class="jxr_linenumber" name="L318" href="#L318">318</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"#!/usr/bin/env ruby"</span>;
+<a class="jxr_linenumber" name="L319" href="#L319">319</a> String secondLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L320" href="#L320">320</a>
+<a class="jxr_linenumber" name="L321" href="#L321">321</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L322" href="#L322">322</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L323" href="#L323">323</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L324" href="#L324">324</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L325" href="#L325">325</a> writer.write(<span class="jxr_string">"class Foo\n"</span>);
+<a class="jxr_linenumber" name="L326" href="#L326">326</a> writer.write(<span class="jxr_string">"end\n"</span>);
+<a class="jxr_linenumber" name="L327" href="#L327">327</a> }
+<a class="jxr_linenumber" name="L328" href="#L328">328</a> },
+<a class="jxr_linenumber" name="L329" href="#L329">329</a> checkLines(firstLine, secondLine));
+<a class="jxr_linenumber" name="L330" href="#L330">330</a> }
+<a class="jxr_linenumber" name="L331" href="#L331">331</a>
+<a class="jxr_linenumber" name="L332" href="#L332">332</a> @Test
+<a class="jxr_linenumber" name="L333" href="#L333">333</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToPerlWithoutHashBang()
+<a class="jxr_linenumber" name="L334" href="#L334">334</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L335" href="#L335">335</a> String filename = <span class="jxr_string">"tmp.pl"</span>;
+<a class="jxr_linenumber" name="L336" href="#L336">336</a> String firstLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L337" href="#L337">337</a>
+<a class="jxr_linenumber" name="L338" href="#L338">338</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L339" href="#L339">339</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L340" href="#L340">340</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L341" href="#L341">341</a> writer.write(<span class="jxr_string">"print \"Hello world\"\n"</span>);
+<a class="jxr_linenumber" name="L342" href="#L342">342</a> }
+<a class="jxr_linenumber" name="L343" href="#L343">343</a> },
+<a class="jxr_linenumber" name="L344" href="#L344">344</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L345" href="#L345">345</a> }
+<a class="jxr_linenumber" name="L346" href="#L346">346</a>
+<a class="jxr_linenumber" name="L347" href="#L347">347</a> @Test
+<a class="jxr_linenumber" name="L348" href="#L348">348</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToPerlWithHashBang() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L349" href="#L349">349</a> String filename = <span class="jxr_string">"tmp.pl"</span>;
+<a class="jxr_linenumber" name="L350" href="#L350">350</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"#!/usr/bin/env perl"</span>;
+<a class="jxr_linenumber" name="L351" href="#L351">351</a> String secondLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L352" href="#L352">352</a>
+<a class="jxr_linenumber" name="L353" href="#L353">353</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L354" href="#L354">354</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L355" href="#L355">355</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L356" href="#L356">356</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L357" href="#L357">357</a> writer.write(<span class="jxr_string">"print \"Hello world\"\n"</span>);
+<a class="jxr_linenumber" name="L358" href="#L358">358</a> }
+<a class="jxr_linenumber" name="L359" href="#L359">359</a> },
+<a class="jxr_linenumber" name="L360" href="#L360">360</a> checkLines(firstLine, secondLine));
+<a class="jxr_linenumber" name="L361" href="#L361">361</a> }
+<a class="jxr_linenumber" name="L362" href="#L362">362</a>
+<a class="jxr_linenumber" name="L363" href="#L363">363</a> @Test
+<a class="jxr_linenumber" name="L364" href="#L364">364</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToPerlModule() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L365" href="#L365">365</a> String filename = <span class="jxr_string">"tmp.pm"</span>;
+<a class="jxr_linenumber" name="L366" href="#L366">366</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"package API::TestAPI;"</span>;
+<a class="jxr_linenumber" name="L367" href="#L367">367</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="L368" href="#L368">368</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L369" href="#L369">369</a>
+<a class="jxr_linenumber" name="L370" href="#L370">370</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L371" href="#L371">371</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L372" href="#L372">372</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L373" href="#L373">373</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L374" href="#L374">374</a> writer.write(<span class="jxr_string">"print \"Hello world\"\n"</span>);
+<a class="jxr_linenumber" name="L375" href="#L375">375</a> }
+<a class="jxr_linenumber" name="L376" href="#L376">376</a> },
+<a class="jxr_linenumber" name="L377" href="#L377">377</a> checkLines(firstLine, secondLine, thirdLine));
+<a class="jxr_linenumber" name="L378" href="#L378">378</a> }
+<a class="jxr_linenumber" name="L379" href="#L379">379</a>
+<a class="jxr_linenumber" name="L380" href="#L380">380</a> @Test
+<a class="jxr_linenumber" name="L381" href="#L381">381</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToTclWithoutHashBang()
+<a class="jxr_linenumber" name="L382" href="#L382">382</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L383" href="#L383">383</a> String filename = <span class="jxr_string">"tmp.tcl"</span>;
+<a class="jxr_linenumber" name="L384" href="#L384">384</a> String firstLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L385" href="#L385">385</a>
+<a class="jxr_linenumber" name="L386" href="#L386">386</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L387" href="#L387">387</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L388" href="#L388">388</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L389" href="#L389">389</a> writer.write(<span class="jxr_string">"puts \"Hello world\"\n"</span>);
+<a class="jxr_linenumber" name="L390" href="#L390">390</a> }
+<a class="jxr_linenumber" name="L391" href="#L391">391</a> },
+<a class="jxr_linenumber" name="L392" href="#L392">392</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L393" href="#L393">393</a> }
+<a class="jxr_linenumber" name="L394" href="#L394">394</a>
+<a class="jxr_linenumber" name="L395" href="#L395">395</a> @Test
+<a class="jxr_linenumber" name="L396" href="#L396">396</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToTclWithHashBang() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L397" href="#L397">397</a> String filename = <span class="jxr_string">"tmp.tcl"</span>;
+<a class="jxr_linenumber" name="L398" href="#L398">398</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"#!/usr/bin/env tcl"</span>;
+<a class="jxr_linenumber" name="L399" href="#L399">399</a> String secondLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L400" href="#L400">400</a>
+<a class="jxr_linenumber" name="L401" href="#L401">401</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L402" href="#L402">402</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L403" href="#L403">403</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L404" href="#L404">404</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L405" href="#L405">405</a> writer.write(<span class="jxr_string">"puts \"Hello world\"\n"</span>);
+<a class="jxr_linenumber" name="L406" href="#L406">406</a> }
+<a class="jxr_linenumber" name="L407" href="#L407">407</a> },
+<a class="jxr_linenumber" name="L408" href="#L408">408</a> checkLines(firstLine, secondLine));
+<a class="jxr_linenumber" name="L409" href="#L409">409</a> }
+<a class="jxr_linenumber" name="L410" href="#L410">410</a>
+<a class="jxr_linenumber" name="L411" href="#L411">411</a> @Test
+<a class="jxr_linenumber" name="L412" href="#L412">412</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToPHP() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L413" href="#L413">413</a> String filename = <span class="jxr_string">"tmp.php"</span>;
+<a class="jxr_linenumber" name="L414" href="#L414">414</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"<?php"</span>;
+<a class="jxr_linenumber" name="L415" href="#L415">415</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="L416" href="#L416">416</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L417" href="#L417">417</a>
+<a class="jxr_linenumber" name="L418" href="#L418">418</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L419" href="#L419">419</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L420" href="#L420">420</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L421" href="#L421">421</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L422" href="#L422">422</a> writer.write(<span class="jxr_string">"echo 'Hello World'\n"</span>);
+<a class="jxr_linenumber" name="L423" href="#L423">423</a> writer.write(<span class="jxr_string">"?>\n"</span>);
+<a class="jxr_linenumber" name="L424" href="#L424">424</a> }
+<a class="jxr_linenumber" name="L425" href="#L425">425</a> },
+<a class="jxr_linenumber" name="L426" href="#L426">426</a> checkLines(firstLine, secondLine, thirdLine));
+<a class="jxr_linenumber" name="L427" href="#L427">427</a> }
+<a class="jxr_linenumber" name="L428" href="#L428">428</a>
+<a class="jxr_linenumber" name="L429" href="#L429">429</a> @Test
+<a class="jxr_linenumber" name="L430" href="#L430">430</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToCSharp() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L431" href="#L431">431</a> String filename = <span class="jxr_string">"tmp.cs"</span>;
+<a class="jxr_linenumber" name="L432" href="#L432">432</a> String firstLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L433" href="#L433">433</a>
+<a class="jxr_linenumber" name="L434" href="#L434">434</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L435" href="#L435">435</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L436" href="#L436">436</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L437" href="#L437">437</a> writer.write(<span class="jxr_string">"namespace org.example {\n"</span>);
+<a class="jxr_linenumber" name="L438" href="#L438">438</a> writer.write(<span class="jxr_string">" public class Foo {\n"</span>);
+<a class="jxr_linenumber" name="L439" href="#L439">439</a> writer.write(<span class="jxr_string">" }\n"</span>);
+<a class="jxr_linenumber" name="L440" href="#L440">440</a> writer.write(<span class="jxr_string">"}\n"</span>);
+<a class="jxr_linenumber" name="L441" href="#L441">441</a> }
+<a class="jxr_linenumber" name="L442" href="#L442">442</a> },
+<a class="jxr_linenumber" name="L443" href="#L443">443</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L444" href="#L444">444</a> }
+<a class="jxr_linenumber" name="L445" href="#L445">445</a>
+<a class="jxr_linenumber" name="L446" href="#L446">446</a> @Test
+<a class="jxr_linenumber" name="L447" href="#L447">447</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToGroovy() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L448" href="#L448">448</a> String filename = <span class="jxr_string">"tmp.groovy"</span>;
+<a class="jxr_linenumber" name="L449" href="#L449">449</a> String firstLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L450" href="#L450">450</a>
+<a class="jxr_linenumber" name="L451" href="#L451">451</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L452" href="#L452">452</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L453" href="#L453">453</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L454" href="#L454">454</a> writer.write(<span class="jxr_string">"package org.example \n"</span>);
+<a class="jxr_linenumber" name="L455" href="#L455">455</a> writer.write(<span class="jxr_string">" class Foo {\n"</span>);
+<a class="jxr_linenumber" name="L456" href="#L456">456</a> writer.write(<span class="jxr_string">" }\n"</span>);
+<a class="jxr_linenumber" name="L457" href="#L457">457</a> }
+<a class="jxr_linenumber" name="L458" href="#L458">458</a> },
+<a class="jxr_linenumber" name="L459" href="#L459">459</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L460" href="#L460">460</a> }
+<a class="jxr_linenumber" name="L461" href="#L461">461</a>
+<a class="jxr_linenumber" name="L462" href="#L462">462</a> @Test
+<a class="jxr_linenumber" name="L463" href="#L463">463</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToCPlusPlus() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L464" href="#L464">464</a> String filename = <span class="jxr_string">"tmp.cpp"</span>;
+<a class="jxr_linenumber" name="L465" href="#L465">465</a> String firstLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L466" href="#L466">466</a>
+<a class="jxr_linenumber" name="L467" href="#L467">467</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L468" href="#L468">468</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L469" href="#L469">469</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L470" href="#L470">470</a> writer.write(<span class="jxr_string">"namespace org.example {\n"</span>);
+<a class="jxr_linenumber" name="L471" href="#L471">471</a> writer.write(<span class="jxr_string">" public class Foo {\n"</span>);
+<a class="jxr_linenumber" name="L472" href="#L472">472</a> writer.write(<span class="jxr_string">" }\n"</span>);
+<a class="jxr_linenumber" name="L473" href="#L473">473</a> writer.write(<span class="jxr_string">"}\n"</span>);
+<a class="jxr_linenumber" name="L474" href="#L474">474</a> }
+<a class="jxr_linenumber" name="L475" href="#L475">475</a> },
+<a class="jxr_linenumber" name="L476" href="#L476">476</a> checkLines(firstLine));
+<a class="jxr_linenumber" name="L477" href="#L477">477</a> }
+<a class="jxr_linenumber" name="L478" href="#L478">478</a>
+<a class="jxr_linenumber" name="L479" href="#L479">479</a> @Test
+<a class="jxr_linenumber" name="L480" href="#L480">480</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToGo() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L481" href="#L481">481</a> String filename = <span class="jxr_string">"tmp.go"</span>;
+<a class="jxr_linenumber" name="L482" href="#L482">482</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"package main"</span>;
+<a class="jxr_linenumber" name="L483" href="#L483">483</a> String secondLine = <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="L484" href="#L484">484</a> String thirdLine = <span class="jxr_string">"/*"</span>;
+<a class="jxr_linenumber" name="L485" href="#L485">485</a>
+<a class="jxr_linenumber" name="L486" href="#L486">486</a>
+<a class="jxr_linenumber" name="L487" href="#L487">487</a>
+<a class="jxr_linenumber" name="L488" href="#L488">488</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L489" href="#L489">489</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L490" href="#L490">490</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L491" href="#L491">491</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L492" href="#L492">492</a> writer.write(<span class="jxr_string">"import (\n"</span>);
+<a class="jxr_linenumber" name="L493" href="#L493">493</a> writer.write(<span class="jxr_string">" log\n"</span>);
+<a class="jxr_linenumber" name="L494" href="#L494">494</a> writer.write(<span class="jxr_string">")\n"</span>);
+<a class="jxr_linenumber" name="L495" href="#L495">495</a> }
+<a class="jxr_linenumber" name="L496" href="#L496">496</a> },
+<a class="jxr_linenumber" name="L497" href="#L497">497</a> checkLines(firstLine, secondLine, thirdLine));
+<a class="jxr_linenumber" name="L498" href="#L498">498</a> }
+<a class="jxr_linenumber" name="L499" href="#L499">499</a>
+<a class="jxr_linenumber" name="L500" href="#L500">500</a> @Test
+<a class="jxr_linenumber" name="L501" href="#L501">501</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fileWithBOM() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L502" href="#L502">502</a> File f = Resources.getResourceFile(<span class="jxr_string">"violations/FilterTest.cs"</span>);
+<a class="jxr_linenumber" name="L503" href="#L503">503</a>
+<a class="jxr_linenumber" name="L504" href="#L504">504</a> ApacheV2LicenseAppender appender =
+<a class="jxr_linenumber" name="L505" href="#L505">505</a> <strong class="jxr_keyword">new</strong> ApacheV2LicenseAppender(DefaultLog.INSTANCE);
+<a class="jxr_linenumber" name="L506" href="#L506">506</a> appender.append(f);
+<a class="jxr_linenumber" name="L507" href="#L507">507</a>
+<a class="jxr_linenumber" name="L508" href="#L508">508</a> <strong class="jxr_keyword">try</strong> (BufferedReader r = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> FileReader(f.getAbsolutePath()
+<a class="jxr_linenumber" name="L509" href="#L509">509</a> + <span class="jxr_string">".new"</span>))) {
+<a class="jxr_linenumber" name="L510" href="#L510">510</a> assertEquals(<span class="jxr_string">"/*"</span>, r.readLine());
+<a class="jxr_linenumber" name="L511" href="#L511">511</a> String line = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L512" href="#L512">512</a> <strong class="jxr_keyword">while</strong> ((line = r.readLine()) != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L513" href="#L513">513</a> <strong class="jxr_keyword">if</strong> (line.trim().length() == 0) {
+<a class="jxr_linenumber" name="L514" href="#L514">514</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L515" href="#L515">515</a> }
+<a class="jxr_linenumber" name="L516" href="#L516">516</a> }
+<a class="jxr_linenumber" name="L517" href="#L517">517</a> assertEquals(<span class="jxr_string">"#if NET_2_0"</span>, r.readLine());
+<a class="jxr_linenumber" name="L518" href="#L518">518</a> }
+<a class="jxr_linenumber" name="L519" href="#L519">519</a> }
+<a class="jxr_linenumber" name="L520" href="#L520">520</a>
+<a class="jxr_linenumber" name="L521" href="#L521">521</a> @Test
+<a class="jxr_linenumber" name="L522" href="#L522">522</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToVS2003solution() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L523" href="#L523">523</a> String filename = <span class="jxr_string">"tmp.sln"</span>;
+<a class="jxr_linenumber" name="L524" href="#L524">524</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"Microsoft Visual Studio Solution File,"</span>
+<a class="jxr_linenumber" name="L525" href="#L525">525</a> + <span class="jxr_string">" Format Version 8.0"</span>;
+<a class="jxr_linenumber" name="L526" href="#L526">526</a> String secondLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L527" href="#L527">527</a>
+<a class="jxr_linenumber" name="L528" href="#L528">528</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L529" href="#L529">529</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L530" href="#L530">530</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L531" href="#L531">531</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L532" href="#L532">532</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"ConsoleApp\", \"Tutorials\\ConsoleApp\\cs\\src\\ConsoleApp.csproj\", \"{933969DF-2BC5-44E6-8B1A-400FC276A23F}\"\n"</span>);
+<a class="jxr_linenumber" name="L533" href="#L533">533</a> writer.write(<span class="jxr_string">"\tProjectSection(WebsiteProperties) = preProject\n"</span>);
+<a class="jxr_linenumber" name="L534" href="#L534">534</a> writer.write(<span class="jxr_string">"\t\tDebug.AspNetCompiler.Debug = \"True\"\n"</span>);
+<a class="jxr_linenumber" name="L535" href="#L535">535</a> writer.write(<span class="jxr_string">"\t\tRelease.AspNetCompiler.Debug = \"False\"\n"</span>);
+<a class="jxr_linenumber" name="L536" href="#L536">536</a> writer.write(<span class="jxr_string">"\tEndProjectSection\n"</span>);
+<a class="jxr_linenumber" name="L537" href="#L537">537</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
+<a class="jxr_linenumber" name="L538" href="#L538">538</a> }
+<a class="jxr_linenumber" name="L539" href="#L539">539</a> },
+<a class="jxr_linenumber" name="L540" href="#L540">540</a> checkLines(firstLine, secondLine));
+<a class="jxr_linenumber" name="L541" href="#L541">541</a> }
+<a class="jxr_linenumber" name="L542" href="#L542">542</a>
+<a class="jxr_linenumber" name="L543" href="#L543">543</a> @Test
+<a class="jxr_linenumber" name="L544" href="#L544">544</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToVS2005solution() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L545" href="#L545">545</a> String filename = <span class="jxr_string">"tmp.sln"</span>;
+<a class="jxr_linenumber" name="L546" href="#L546">546</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"Microsoft Visual Studio Solution File,"</span>
+<a class="jxr_linenumber" name="L547" href="#L547">547</a> + <span class="jxr_string">" Format Version 9.0"</span>;
+<a class="jxr_linenumber" name="L548" href="#L548">548</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">"# Visual Studio 2005"</span>;
+<a class="jxr_linenumber" name="L549" href="#L549">549</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L550" href="#L550">550</a>
+<a class="jxr_linenumber" name="L551" href="#L551">551</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L552" href="#L552">552</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L553" href="#L553">553</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L554" href="#L554">554</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L555" href="#L555">555</a> writer.write(secondLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L556" href="#L556">556</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"ConsoleApp\", \"Tutorials\\ConsoleApp\\cs\\src\\ConsoleApp.csproj\", \"{933969DF-2BC5-44E6-8B1A-400FC276A23F}\"\n"</span>);
+<a class="jxr_linenumber" name="L557" href="#L557">557</a> writer.write(<span class="jxr_string">"\tProjectSection(WebsiteProperties) = preProject\n"</span>);
+<a class="jxr_linenumber" name="L558" href="#L558">558</a> writer.write(<span class="jxr_string">"\t\tDebug.AspNetCompiler.Debug = \"True\"\n"</span>);
+<a class="jxr_linenumber" name="L559" href="#L559">559</a> writer.write(<span class="jxr_string">"\t\tRelease.AspNetCompiler.Debug = \"False\"\n"</span>);
+<a class="jxr_linenumber" name="L560" href="#L560">560</a> writer.write(<span class="jxr_string">"\tEndProjectSection\n"</span>);
+<a class="jxr_linenumber" name="L561" href="#L561">561</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
+<a class="jxr_linenumber" name="L562" href="#L562">562</a> }
+<a class="jxr_linenumber" name="L563" href="#L563">563</a> },
+<a class="jxr_linenumber" name="L564" href="#L564">564</a> checkLines(firstLine, secondLine, thirdLine)
+<a class="jxr_linenumber" name="L565" href="#L565">565</a> );
+<a class="jxr_linenumber" name="L566" href="#L566">566</a> }
+<a class="jxr_linenumber" name="L567" href="#L567">567</a>
+<a class="jxr_linenumber" name="L568" href="#L568">568</a> @Test
+<a class="jxr_linenumber" name="L569" href="#L569">569</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToVS2010ExpressSolution() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L570" href="#L570">570</a> String filename = <span class="jxr_string">"tmp.sln"</span>;
+<a class="jxr_linenumber" name="L571" href="#L571">571</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">"Microsoft Visual Studio Solution File, "</span>
+<a class="jxr_linenumber" name="L572" href="#L572">572</a> + <span class="jxr_string">"Format Version 11.00"</span>;
+<a class="jxr_linenumber" name="L573" href="#L573">573</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">"# Visual C# Express 2010"</span>;
+<a class="jxr_linenumber" name="L574" href="#L574">574</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L575" href="#L575">575</a>
+<a class="jxr_linenumber" name="L576" href="#L576">576</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L577" href="#L577">577</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L578" href="#L578">578</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L579" href="#L579">579</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L580" href="#L580">580</a> writer.write(secondLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L581" href="#L581">581</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Lucene.Net\", \"..\\..\\..\\src\\core\\Lucene.Net.csproj\", \"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}\"\n"</span>);
+<a class="jxr_linenumber" name="L582" href="#L582">582</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
+<a class="jxr_linenumber" name="L583" href="#L583">583</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Contrib.Highlighter\", \"..\\..\\..\\src\\contrib\\Highlighter\\Contrib.Highlighter.csproj\", \"{901D5415-383C-4AA6-A256-879558841BEA}\"\n"</span>);
+<a class="jxr_linenumber" name="L584" href="#L584">584</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
+<a class="jxr_linenumber" name="L585" href="#L585">585</a> writer.write(<span class="jxr_string">"Global\n"</span>);
+<a class="jxr_linenumber" name="L586" href="#L586">586</a> writer.write(<span class="jxr_string">"GlobalSection(SolutionConfigurationPlatforms) = preSolution\n"</span>);
+<a class="jxr_linenumber" name="L587" href="#L587">587</a> writer.write(<span class="jxr_string">"Debug|Any CPU = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L588" href="#L588">588</a> writer.write(<span class="jxr_string">"Release|Any CPU = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L589" href="#L589">589</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
+<a class="jxr_linenumber" name="L590" href="#L590">590</a> writer.write(<span class="jxr_string">"GlobalSection(ProjectConfigurationPlatforms) = postSolution\n"</span>);
+<a class="jxr_linenumber" name="L591" href="#L591">591</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L592" href="#L592">592</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Debug|Any CPU.Build.0 = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L593" href="#L593">593</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Release|Any CPU.ActiveCfg = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L594" href="#L594">594</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Release|Any CPU.Build.0 = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L595" href="#L595">595</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L596" href="#L596">596</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Debug|Any CPU.Build.0 = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L597" href="#L597">597</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Release|Any CPU.ActiveCfg = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L598" href="#L598">598</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Release|Any CPU.Build.0 = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L599" href="#L599">599</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
+<a class="jxr_linenumber" name="L600" href="#L600">600</a> writer.write(<span class="jxr_string">"GlobalSection(SolutionProperties) = preSolution\n"</span>);
+<a class="jxr_linenumber" name="L601" href="#L601">601</a> writer.write(<span class="jxr_string">"HideSolutionNode = FALSE\n"</span>);
+<a class="jxr_linenumber" name="L602" href="#L602">602</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
+<a class="jxr_linenumber" name="L603" href="#L603">603</a> writer.write(<span class="jxr_string">"EndGlobal \n"</span>);
+<a class="jxr_linenumber" name="L604" href="#L604">604</a> }
+<a class="jxr_linenumber" name="L605" href="#L605">605</a> },
+<a class="jxr_linenumber" name="L606" href="#L606">606</a> checkLines(firstLine, secondLine, thirdLine)
+<a class="jxr_linenumber" name="L607" href="#L607">607</a> );
+<a class="jxr_linenumber" name="L608" href="#L608">608</a> }
+<a class="jxr_linenumber" name="L609" href="#L609">609</a>
+<a class="jxr_linenumber" name="L610" href="#L610">610</a> @Test
+<a class="jxr_linenumber" name="L611" href="#L611">611</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseToVS2010SolutionWithBlankLine() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L612" href="#L612">612</a> String filename = <span class="jxr_string">"tmp.sln"</span>;
+<a class="jxr_linenumber" name="L613" href="#L613">613</a> <strong class="jxr_keyword">final</strong> String firstLine = <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="L614" href="#L614">614</a> <strong class="jxr_keyword">final</strong> String secondLine = <span class="jxr_string">"Microsoft Visual Studio Solution File, "</span>
+<a class="jxr_linenumber" name="L615" href="#L615">615</a> + <span class="jxr_string">"Format Version 11.00"</span>;
+<a class="jxr_linenumber" name="L616" href="#L616">616</a> <strong class="jxr_keyword">final</strong> String thirdLine = <span class="jxr_string">"# Visual C# Express 2010"</span>;
+<a class="jxr_linenumber" name="L617" href="#L617">617</a> <strong class="jxr_keyword">final</strong> String forthLine = <span class="jxr_string">"#"</span> + FIRST_LICENSE_LINE;
+<a class="jxr_linenumber" name="L618" href="#L618">618</a>
+<a class="jxr_linenumber" name="L619" href="#L619">619</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L620" href="#L620">620</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L621" href="#L621">621</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L622" href="#L622">622</a> writer.write(firstLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L623" href="#L623">623</a> writer.write(secondLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L624" href="#L624">624</a> writer.write(thirdLine + <span class="jxr_string">"\n"</span>);
+<a class="jxr_linenumber" name="L625" href="#L625">625</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Lucene.Net\", \"..\\..\\..\\src\\core\\Lucene.Net.csproj\", \"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}\"\n"</span>);
+<a class="jxr_linenumber" name="L626" href="#L626">626</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
+<a class="jxr_linenumber" name="L627" href="#L627">627</a> writer.write(<span class="jxr_string">"Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Contrib.Highlighter\", \"..\\..\\..\\src\\contrib\\Highlighter\\Contrib.Highlighter.csproj\", \"{901D5415-383C-4AA6-A256-879558841BEA}\"\n"</span>);
+<a class="jxr_linenumber" name="L628" href="#L628">628</a> writer.write(<span class="jxr_string">"EndProject\n"</span>);
+<a class="jxr_linenumber" name="L629" href="#L629">629</a> writer.write(<span class="jxr_string">"Global\n"</span>);
+<a class="jxr_linenumber" name="L630" href="#L630">630</a> writer.write(<span class="jxr_string">"GlobalSection(SolutionConfigurationPlatforms) = preSolution\n"</span>);
+<a class="jxr_linenumber" name="L631" href="#L631">631</a> writer.write(<span class="jxr_string">"Debug|Any CPU = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L632" href="#L632">632</a> writer.write(<span class="jxr_string">"Release|Any CPU = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L633" href="#L633">633</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
+<a class="jxr_linenumber" name="L634" href="#L634">634</a> writer.write(<span class="jxr_string">"GlobalSection(ProjectConfigurationPlatforms) = postSolution\n"</span>);
+<a class="jxr_linenumber" name="L635" href="#L635">635</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L636" href="#L636">636</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Debug|Any CPU.Build.0 = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L637" href="#L637">637</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Release|Any CPU.ActiveCfg = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L638" href="#L638">638</a> writer.write(<span class="jxr_string">"{5D4AD9BE-1FFB-41AB-9943-25737971BF57}.Release|Any CPU.Build.0 = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L639" href="#L639">639</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L640" href="#L640">640</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Debug|Any CPU.Build.0 = Debug|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L641" href="#L641">641</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Release|Any CPU.ActiveCfg = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L642" href="#L642">642</a> writer.write(<span class="jxr_string">"{901D5415-383C-4AA6-A256-879558841BEA}.Release|Any CPU.Build.0 = Release|Any CPU\n"</span>);
+<a class="jxr_linenumber" name="L643" href="#L643">643</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
+<a class="jxr_linenumber" name="L644" href="#L644">644</a> writer.write(<span class="jxr_string">"GlobalSection(SolutionProperties) = preSolution\n"</span>);
+<a class="jxr_linenumber" name="L645" href="#L645">645</a> writer.write(<span class="jxr_string">"HideSolutionNode = FALSE\n"</span>);
+<a class="jxr_linenumber" name="L646" href="#L646">646</a> writer.write(<span class="jxr_string">"EndGlobalSection\n"</span>);
+<a class="jxr_linenumber" name="L647" href="#L647">647</a> writer.write(<span class="jxr_string">"EndGlobal \n"</span>);
+<a class="jxr_linenumber" name="L648" href="#L648">648</a> }
+<a class="jxr_linenumber" name="L649" href="#L649">649</a> },
+<a class="jxr_linenumber" name="L650" href="#L650">650</a> checkLines(firstLine, secondLine, thirdLine, forthLine)
+<a class="jxr_linenumber" name="L651" href="#L651">651</a> );
+<a class="jxr_linenumber" name="L652" href="#L652">652</a> }
+<a class="jxr_linenumber" name="L653" href="#L653">653</a>
+<a class="jxr_linenumber" name="L654" href="#L654">654</a> @Test
+<a class="jxr_linenumber" name="L655" href="#L655">655</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLicenseMarkdown() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L656" href="#L656">656</a> String filename = <span class="jxr_string">"tmp.md"</span>;
+<a class="jxr_linenumber" name="L657" href="#L657">657</a>
+<a class="jxr_linenumber" name="L658" href="#L658">658</a> commonTestTemplate(filename, <strong class="jxr_keyword">new</strong> FileCreator() {
+<a class="jxr_linenumber" name="L659" href="#L659">659</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> createFile(Writer writer)
+<a class="jxr_linenumber" name="L660" href="#L660">660</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L661" href="#L661">661</a> writer.write(<span class="jxr_string">"## This is the first header\n"</span>);
+<a class="jxr_linenumber" name="L662" href="#L662">662</a> writer.write(<span class="jxr_string">" * this is a list entry\n"</span>);
+<a class="jxr_linenumber" name="L663" href="#L663">663</a> writer.write(<span class="jxr_string">" * this is another list entry\n"</span>);
+<a class="jxr_linenumber" name="L664" href="#L664">664</a> writer.write(<span class="jxr_string">" <!-- this is a comment line -->"</span>);
+<a class="jxr_linenumber" name="L665" href="#L665">665</a> writer.write(<span class="jxr_string">"## This is the second header\n"</span>);
+<a class="jxr_linenumber" name="L666" href="#L666">666</a> }
+<a class="jxr_linenumber" name="L667" href="#L667">667</a> },
+<a class="jxr_linenumber" name="L668" href="#L668">668</a> <strong class="jxr_keyword">new</strong> NewFileReader() {
+<a class="jxr_linenumber" name="L669" href="#L669">669</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readFile(BufferedReader r) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L670" href="#L670">670</a> String line = r.readLine();
+<a class="jxr_linenumber" name="L671" href="#L671">671</a> assertEquals(
+<a class="jxr_linenumber" name="L672" href="#L672">672</a> <span class="jxr_string">"<!--"</span>, line, <span class="jxr_string">"First line is incorrect"</span>);
+<a class="jxr_linenumber" name="L673" href="#L673">673</a> line = r.readLine();
+<a class="jxr_linenumber" name="L674" href="#L674">674</a> }
+<a class="jxr_linenumber" name="L675" href="#L675">675</a> });
+<a class="jxr_linenumber" name="L676" href="#L676">676</a> }
+<a class="jxr_linenumber" name="L677" href="#L677">677</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref-test/org/apache/rat/report/xml/XmlReportFactoryTest.html b/rat0161/apache-rat-core/xref-test/org/apache/rat/report/xml/XmlReportFactoryTest.html
index 8c872e70..2fae2487 100644
--- a/rat0161/apache-rat-core/xref-test/org/apache/rat/report/xml/XmlReportFactoryTest.html
+++ b/rat0161/apache-rat-core/xref-test/org/apache/rat/report/xml/XmlReportFactoryTest.html
@@ -82,54 +82,52 @@
<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> standardReport() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L75" href="#L75">75</a> <strong class="jxr_keyword">final</strong> String elementsPath = Resources.getResourceDirectory(<span class="jxr_string">"elements/Source.java"</span>);
<a class="jxr_linenumber" name="L76" href="#L76">76</a>
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> ILicenseFamily family = ILicenseFamily.builder().setLicenseFamilyCategory(<span class="jxr_string">"TEST"</span>)
-<a class="jxr_linenumber" name="L78" href="#L78">78</a> .setLicenseFamilyName(<span class="jxr_string">"Testing family"</span>).build();
-<a class="jxr_linenumber" name="L79" href="#L79">79</a>
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">final</strong> <a name="TestingLicense" href="../../../../../org/apache/rat/testhelpers/TestingLicense.html#TestingLicense">TestingLicense</a> testingLicense = <strong class="jxr_keyword">new</strong> <a name="TestingLicense" href="../../../../../org/apache/rat/testhelpers/TestingLicense.html#TestingLicense">TestingLicense</a>(<strong class="jxr_keyword">new</strong> <a name="TestingMatcher" href [...]
-<a class="jxr_linenumber" name="L81" href="#L81">81</a>
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> DirectoryWalker directory = <strong class="jxr_keyword">new</strong> DirectoryWalker(<strong class="jxr_keyword">new</strong> File(elementsPath), IGNORE_EMPTY, HiddenFileFilter.HIDDEN);
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> <strong class="jxr_keyword">final</strong> ClaimStatistic statistic = <strong class="jxr_keyword">new</strong> ClaimStatistic();
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> <strong class="jxr_keyword">final</strong> ReportConfiguration configuration = <strong class="jxr_keyword">new</strong> ReportConfiguration(DefaultLog.INSTANCE);
-<a class="jxr_linenumber" name="L85" href="#L85">85</a> configuration.addLicense(testingLicense);
-<a class="jxr_linenumber" name="L86" href="#L86">86</a> RatReport report = XmlReportFactory.createStandardReport(writer, statistic, configuration);
-<a class="jxr_linenumber" name="L87" href="#L87">87</a> report.startReport();
-<a class="jxr_linenumber" name="L88" href="#L88">88</a> report(directory, report);
-<a class="jxr_linenumber" name="L89" href="#L89">89</a> report.endReport();
-<a class="jxr_linenumber" name="L90" href="#L90">90</a> writer.closeDocument();
-<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">final</strong> String output = out.toString();
-<a class="jxr_linenumber" name="L92" href="#L92">92</a> assertTrue(
-<a class="jxr_linenumber" name="L93" href="#L93">93</a> output.startsWith(<span class="jxr_string">"<?xml version='1.0'?>"</span> + <span class="jxr_string">"<rat-report timestamp="</span>), <span class="jxr_string">"Preamble and document element are OK"</span>);
-<a class="jxr_linenumber" name="L94" href="#L94">94</a>
-<a class="jxr_linenumber" name="L95" href="#L95">95</a> assertTrue( XmlUtils.isWellFormedXml(output), <span class="jxr_string">"Is well formed"</span>);
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> <strong class="jxr_keyword">final</strong> <a name="TestingLicense" href="../../../../../org/apache/rat/testhelpers/TestingLicense.html#TestingLicense">TestingLicense</a> testingLicense = <strong class="jxr_keyword">new</strong> <a name="TestingLicense" href="../../../../../org/apache/rat/testhelpers/TestingLicense.html#TestingLicense">TestingLicense</a>(<strong class="jxr_keyword">new</strong> <a name="TestingMatcher" href [...]
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> DirectoryWalker directory = <strong class="jxr_keyword">new</strong> DirectoryWalker(<strong class="jxr_keyword">new</strong> File(elementsPath), IGNORE_EMPTY, HiddenFileFilter.HIDDEN);
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">final</strong> ClaimStatistic statistic = <strong class="jxr_keyword">new</strong> ClaimStatistic();
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> <strong class="jxr_keyword">final</strong> ReportConfiguration configuration = <strong class="jxr_keyword">new</strong> ReportConfiguration(DefaultLog.INSTANCE);
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> configuration.addLicense(testingLicense);
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> RatReport report = XmlReportFactory.createStandardReport(writer, statistic, configuration);
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> report.startReport();
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> report(directory, report);
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> report.endReport();
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> writer.closeDocument();
+<a class="jxr_linenumber" name="L89" href="#L89">89</a> <strong class="jxr_keyword">final</strong> String output = out.toString();
+<a class="jxr_linenumber" name="L90" href="#L90">90</a> assertTrue(
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> output.startsWith(<span class="jxr_string">"<?xml version='1.0'?>"</span> + <span class="jxr_string">"<rat-report timestamp="</span>), <span class="jxr_string">"Preamble and document element are OK"</span>);
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>
+<a class="jxr_linenumber" name="L93" href="#L93">93</a> assertTrue( XmlUtils.isWellFormedXml(output), <span class="jxr_string">"Is well formed"</span>);
+<a class="jxr_linenumber" name="L94" href="#L94">94</a> assertEquals(Integer.valueOf(2),
+<a class="jxr_linenumber" name="L95" href="#L95">95</a> statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_BINARY), <span class="jxr_string">"Binary files"</span>);
<a class="jxr_linenumber" name="L96" href="#L96">96</a> assertEquals(Integer.valueOf(2),
-<a class="jxr_linenumber" name="L97" href="#L97">97</a> statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_BINARY), <span class="jxr_string">"Binary files"</span>);
-<a class="jxr_linenumber" name="L98" href="#L98">98</a> assertEquals(Integer.valueOf(2),
-<a class="jxr_linenumber" name="L99" href="#L99">99</a> statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_NOTICE), <span class="jxr_string">"Notice files"</span>);
-<a class="jxr_linenumber" name="L100" href="#L100">100</a> assertEquals(Integer.valueOf(6),
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_STANDARD), <span class="jxr_string">"Standard files"</span>);
-<a class="jxr_linenumber" name="L102" href="#L102">102</a> assertEquals(Integer.valueOf(1),
-<a class="jxr_linenumber" name="L103" href="#L103">103</a> statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_ARCHIVE), <span class="jxr_string">"Archives"</span>);
-<a class="jxr_linenumber" name="L104" href="#L104">104</a> }
-<a class="jxr_linenumber" name="L105" href="#L105">105</a>
-<a class="jxr_linenumber" name="L106" href="#L106">106</a> @Test
-<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNoLicense() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L108" href="#L108">108</a>
-<a class="jxr_linenumber" name="L109" href="#L109">109</a> <strong class="jxr_keyword">final</strong> ILicense mockLicense = mock(ILicense.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L110" href="#L110">110</a> when(mockLicense.matches(any())).thenReturn(State.t);
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> when(mockLicense.getLicenseFamily()).thenReturn(family);
-<a class="jxr_linenumber" name="L112" href="#L112">112</a>
-<a class="jxr_linenumber" name="L113" href="#L113">113</a> <strong class="jxr_keyword">final</strong> ClaimStatistic statistic = <strong class="jxr_keyword">new</strong> ClaimStatistic();
-<a class="jxr_linenumber" name="L114" href="#L114">114</a> <strong class="jxr_keyword">final</strong> ReportConfiguration configuration = <strong class="jxr_keyword">new</strong> ReportConfiguration(DefaultLog.INSTANCE);
-<a class="jxr_linenumber" name="L115" href="#L115">115</a> <em class="jxr_comment">// configuration.addLicense(mockLicense);</em>
-<a class="jxr_linenumber" name="L116" href="#L116">116</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L117" href="#L117">117</a> XmlReportFactory.createStandardReport(writer, statistic, configuration);
-<a class="jxr_linenumber" name="L118" href="#L118">118</a> fail(<span class="jxr_string">"Should have thrown exception"</span>);
-<a class="jxr_linenumber" name="L119" href="#L119">119</a> } <strong class="jxr_keyword">catch</strong> (ConfigurationException e) {
-<a class="jxr_linenumber" name="L120" href="#L120">120</a> <em class="jxr_comment">// expected;</em>
-<a class="jxr_linenumber" name="L121" href="#L121">121</a> }
-<a class="jxr_linenumber" name="L122" href="#L122">122</a>
-<a class="jxr_linenumber" name="L123" href="#L123">123</a> }
-<a class="jxr_linenumber" name="L124" href="#L124">124</a> }
+<a class="jxr_linenumber" name="L97" href="#L97">97</a> statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_NOTICE), <span class="jxr_string">"Notice files"</span>);
+<a class="jxr_linenumber" name="L98" href="#L98">98</a> assertEquals(Integer.valueOf(6),
+<a class="jxr_linenumber" name="L99" href="#L99">99</a> statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_STANDARD), <span class="jxr_string">"Standard files"</span>);
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> assertEquals(Integer.valueOf(1),
+<a class="jxr_linenumber" name="L101" href="#L101">101</a> statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_ARCHIVE), <span class="jxr_string">"Archives"</span>);
+<a class="jxr_linenumber" name="L102" href="#L102">102</a> }
+<a class="jxr_linenumber" name="L103" href="#L103">103</a>
+<a class="jxr_linenumber" name="L104" href="#L104">104</a> @Test
+<a class="jxr_linenumber" name="L105" href="#L105">105</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNoLicense() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L106" href="#L106">106</a>
+<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">final</strong> ILicense mockLicense = mock(ILicense.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L108" href="#L108">108</a> when(mockLicense.matches(any())).thenReturn(State.t);
+<a class="jxr_linenumber" name="L109" href="#L109">109</a> when(mockLicense.getLicenseFamily()).thenReturn(family);
+<a class="jxr_linenumber" name="L110" href="#L110">110</a>
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> <strong class="jxr_keyword">final</strong> ClaimStatistic statistic = <strong class="jxr_keyword">new</strong> ClaimStatistic();
+<a class="jxr_linenumber" name="L112" href="#L112">112</a> <strong class="jxr_keyword">final</strong> ReportConfiguration configuration = <strong class="jxr_keyword">new</strong> ReportConfiguration(DefaultLog.INSTANCE);
+<a class="jxr_linenumber" name="L113" href="#L113">113</a> <em class="jxr_comment">// configuration.addLicense(mockLicense);</em>
+<a class="jxr_linenumber" name="L114" href="#L114">114</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L115" href="#L115">115</a> XmlReportFactory.createStandardReport(writer, statistic, configuration);
+<a class="jxr_linenumber" name="L116" href="#L116">116</a> fail(<span class="jxr_string">"Should have thrown exception"</span>);
+<a class="jxr_linenumber" name="L117" href="#L117">117</a> } <strong class="jxr_keyword">catch</strong> (ConfigurationException e) {
+<a class="jxr_linenumber" name="L118" href="#L118">118</a> <em class="jxr_comment">// expected;</em>
+<a class="jxr_linenumber" name="L119" href="#L119">119</a> }
+<a class="jxr_linenumber" name="L120" href="#L120">120</a>
+<a class="jxr_linenumber" name="L121" href="#L121">121</a> }
+<a class="jxr_linenumber" name="L122" href="#L122">122</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref-test/org/apache/rat/report/xml/XmlReportTest.html b/rat0161/apache-rat-core/xref-test/org/apache/rat/report/xml/XmlReportTest.html
index f6f41bd0..dd381514 100644
--- a/rat0161/apache-rat-core/xref-test/org/apache/rat/report/xml/XmlReportTest.html
+++ b/rat0161/apache-rat-core/xref-test/org/apache/rat/report/xml/XmlReportTest.html
@@ -58,72 +58,73 @@
<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">import</strong> org.apache.rat.test.utils.Resources;
<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">import</strong> org.apache.rat.testhelpers.TestingLicense;
<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">import</strong> org.apache.rat.testhelpers.XmlUtils;
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">import</strong> org.apache.rat.walker.DirectoryWalker;
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.BeforeEach;
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Document;
-<a class="jxr_linenumber" name="L57" href="#L57">57</a>
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="XmlReportTest" href="../../../../../org/apache/rat/report/xml/XmlReportTest.html#XmlReportTest">XmlReportTest</a> {
-<a class="jxr_linenumber" name="L59" href="#L59">59</a>
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern IGNORE = Pattern.compile(<span class="jxr_string">".svn"</span>);
-<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">private</strong> ByteArrayOutputStream out;
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">private</strong> IXmlWriter writer;
-<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">private</strong> RatReport report;
-<a class="jxr_linenumber" name="L64" href="#L64">64</a>
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> @BeforeEach
-<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L67" href="#L67">67</a> out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
-<a class="jxr_linenumber" name="L68" href="#L68">68</a> writer = <strong class="jxr_keyword">new</strong> XmlWriter(<strong class="jxr_keyword">new</strong> BufferedWriter(<strong class="jxr_keyword">new</strong> OutputStreamWriter(out)));
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> writer.startDocument();
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">final</strong> SimpleXmlClaimReporter reporter = <strong class="jxr_keyword">new</strong> SimpleXmlClaimReporter(writer);
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">final</strong> IHeaderMatcher asf1Matcher = <strong class="jxr_keyword">new</strong> SimpleTextMatcher(<span class="jxr_string">"http://www.apache.org/licenses/LICENSE-2.0"</span>);
-<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">final</strong> IHeaderMatcher asf2Matcher = <strong class="jxr_keyword">new</strong> SimpleTextMatcher(<span class="jxr_string">"https://www.apache.org/licenses/LICENSE-2.0.txt"</span>);
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">final</strong> IHeaderMatcher asfMatcher = <strong class="jxr_keyword">new</strong> OrMatcher(Arrays.asList(asf1Matcher, asf2Matcher));
-<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">final</strong> ILicense asfLic = <strong class="jxr_keyword">new</strong> <a name="TestingLicense" href="../../../../../org/apache/rat/testhelpers/TestingLicense.html#TestingLicense">TestingLicense</a>(<span class="jxr_string">"ASF"</span>, asfMatcher);
-<a class="jxr_linenumber" name="L75" href="#L75">75</a>
-<a class="jxr_linenumber" name="L76" href="#L76">76</a> <strong class="jxr_keyword">final</strong> IHeaderMatcher qosMatcher = <strong class="jxr_keyword">new</strong> CopyrightMatcher(<span class="jxr_string">"2004"</span>, <span class="jxr_string">"2011"</span>, <span class="jxr_string">"QOS.ch"</span>);
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">final</strong> ILicense qosLic = <strong class="jxr_keyword">new</strong> <a name="TestingLicense" href="../../../../../org/apache/rat/testhelpers/TestingLicense.html#TestingLicense">TestingLicense</a>(<span class="jxr_string">"QOS"</span>, qosMatcher);
-<a class="jxr_linenumber" name="L78" href="#L78">78</a>
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> IDocumentAnalyser analyser = DefaultAnalyserFactory.createDefaultAnalyser(Arrays.asList(asfLic, qosLic));
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">final</strong> List<AbstractReport> reporters = <strong class="jxr_keyword">new</strong> ArrayList<>();
-<a class="jxr_linenumber" name="L81" href="#L81">81</a> reporters.add(reporter);
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> report = <strong class="jxr_keyword">new</strong> ClaimReporterMultiplexer(analyser, reporters);
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> }
-<a class="jxr_linenumber" name="L84" href="#L84">84</a>
-<a class="jxr_linenumber" name="L85" href="#L85">85</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> report(DirectoryWalker directory) <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L86" href="#L86">86</a> directory.run(report);
-<a class="jxr_linenumber" name="L87" href="#L87">87</a> }
-<a class="jxr_linenumber" name="L88" href="#L88">88</a>
-<a class="jxr_linenumber" name="L89" href="#L89">89</a> @Test
-<a class="jxr_linenumber" name="L90" href="#L90">90</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> baseReport() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">final</strong> String elementsPath = Resources.getResourceDirectory(<span class="jxr_string">"elements/Source.java"</span>);
-<a class="jxr_linenumber" name="L92" href="#L92">92</a> DirectoryWalker directory = <strong class="jxr_keyword">new</strong> DirectoryWalker(<strong class="jxr_keyword">new</strong> File(elementsPath), IGNORE, HiddenFileFilter.HIDDEN);
-<a class="jxr_linenumber" name="L93" href="#L93">93</a> report.startReport();
-<a class="jxr_linenumber" name="L94" href="#L94">94</a> report(directory);
-<a class="jxr_linenumber" name="L95" href="#L95">95</a> report.endReport();
-<a class="jxr_linenumber" name="L96" href="#L96">96</a> writer.closeDocument();
-<a class="jxr_linenumber" name="L97" href="#L97">97</a> <strong class="jxr_keyword">final</strong> String output = out.toString();
-<a class="jxr_linenumber" name="L98" href="#L98">98</a> assertTrue(output.startsWith(<span class="jxr_string">"<?xml version='1.0'?>"</span> + <span class="jxr_string">"<rat-report timestamp="</span>), <span class="jxr_string">"Preamble and document element are OK"</span>);
-<a class="jxr_linenumber" name="L99" href="#L99">99</a> assertTrue(XmlUtils.isWellFormedXml(output),<span class="jxr_string">"Is well formed"</span>);
-<a class="jxr_linenumber" name="L100" href="#L100">100</a>
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> XPath xPath = XPathFactory.newInstance().newXPath();
-<a class="jxr_linenumber" name="L102" href="#L102">102</a> Document doc = XmlUtils.toDom(<strong class="jxr_keyword">new</strong> ByteArrayInputStream(out.toByteArray()));
-<a class="jxr_linenumber" name="L103" href="#L103">103</a>
-<a class="jxr_linenumber" name="L104" href="#L104">104</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/ILoggerFactory.java"</span>, <span class="jxr_string">"QOS"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L105" href="#L105">105</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Image.png"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"binary"</span>);
-<a class="jxr_linenumber" name="L106" href="#L106">106</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/LICENSE"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"notice"</span>);
-<a class="jxr_linenumber" name="L107" href="#L107">107</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/NOTICE"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"notice"</span>);
-<a class="jxr_linenumber" name="L108" href="#L108">108</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Source.java"</span>, <span class="jxr_string">"?????"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L109" href="#L109">109</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Text.txt"</span>, <span class="jxr_string">"ASF"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L110" href="#L110">110</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/TextHttps.txt"</span>, <span class="jxr_string">"ASF"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Xml.xml"</span>, <span class="jxr_string">"ASF"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L112" href="#L112">112</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/buildr.rb"</span>, <span class="jxr_string">"ASF"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L113" href="#L113">113</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/dummy.jar"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"archive"</span>);
-<a class="jxr_linenumber" name="L114" href="#L114">114</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/plain.json"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"binary"</span>);
-<a class="jxr_linenumber" name="L115" href="#L115">115</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/sub/Empty.txt"</span>, <span class="jxr_string">"?????"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
-<a class="jxr_linenumber" name="L116" href="#L116">116</a> }
-<a class="jxr_linenumber" name="L117" href="#L117">117</a>
-<a class="jxr_linenumber" name="L118" href="#L118">118</a> }
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.DefaultLog;
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">import</strong> org.apache.rat.walker.DirectoryWalker;
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.BeforeEach;
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">import</strong> org.junit.jupiter.api.Test;
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Document;
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="XmlReportTest" href="../../../../../org/apache/rat/report/xml/XmlReportTest.html#XmlReportTest">XmlReportTest</a> {
+<a class="jxr_linenumber" name="L60" href="#L60">60</a>
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Pattern IGNORE = Pattern.compile(<span class="jxr_string">".svn"</span>);
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">private</strong> ByteArrayOutputStream out;
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">private</strong> IXmlWriter writer;
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">private</strong> RatReport report;
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> @BeforeEach
+<a class="jxr_linenumber" name="L67" href="#L67">67</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> out = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> writer = <strong class="jxr_keyword">new</strong> XmlWriter(<strong class="jxr_keyword">new</strong> BufferedWriter(<strong class="jxr_keyword">new</strong> OutputStreamWriter(out)));
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> writer.startDocument();
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">final</strong> SimpleXmlClaimReporter reporter = <strong class="jxr_keyword">new</strong> SimpleXmlClaimReporter(writer);
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">final</strong> IHeaderMatcher asf1Matcher = <strong class="jxr_keyword">new</strong> SimpleTextMatcher(<span class="jxr_string">"http://www.apache.org/licenses/LICENSE-2.0"</span>);
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">final</strong> IHeaderMatcher asf2Matcher = <strong class="jxr_keyword">new</strong> SimpleTextMatcher(<span class="jxr_string">"https://www.apache.org/licenses/LICENSE-2.0.txt"</span>);
+<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">final</strong> IHeaderMatcher asfMatcher = <strong class="jxr_keyword">new</strong> OrMatcher(Arrays.asList(asf1Matcher, asf2Matcher));
+<a class="jxr_linenumber" name="L75" href="#L75">75</a> <strong class="jxr_keyword">final</strong> ILicense asfLic = <strong class="jxr_keyword">new</strong> <a name="TestingLicense" href="../../../../../org/apache/rat/testhelpers/TestingLicense.html#TestingLicense">TestingLicense</a>(<span class="jxr_string">"ASF"</span>, asfMatcher);
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">final</strong> IHeaderMatcher qosMatcher = <strong class="jxr_keyword">new</strong> CopyrightMatcher(<span class="jxr_string">"2004"</span>, <span class="jxr_string">"2011"</span>, <span class="jxr_string">"QOS.ch"</span>);
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> <strong class="jxr_keyword">final</strong> ILicense qosLic = <strong class="jxr_keyword">new</strong> <a name="TestingLicense" href="../../../../../org/apache/rat/testhelpers/TestingLicense.html#TestingLicense">TestingLicense</a>(<span class="jxr_string">"QOS"</span>, qosMatcher);
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> IDocumentAnalyser analyser = DefaultAnalyserFactory.createDefaultAnalyser(DefaultLog.INSTANCE,Arrays.asList(asfLic, qosLic));
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">final</strong> List<AbstractReport> reporters = <strong class="jxr_keyword">new</strong> ArrayList<>();
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> reporters.add(reporter);
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> report = <strong class="jxr_keyword">new</strong> ClaimReporterMultiplexer(analyser, reporters);
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> }
+<a class="jxr_linenumber" name="L85" href="#L85">85</a>
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> report(DirectoryWalker directory) <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> directory.run(report);
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> }
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>
+<a class="jxr_linenumber" name="L90" href="#L90">90</a> @Test
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> baseReport() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">final</strong> String elementsPath = Resources.getResourceDirectory(<span class="jxr_string">"elements/Source.java"</span>);
+<a class="jxr_linenumber" name="L93" href="#L93">93</a> DirectoryWalker directory = <strong class="jxr_keyword">new</strong> DirectoryWalker(<strong class="jxr_keyword">new</strong> File(elementsPath), IGNORE, HiddenFileFilter.HIDDEN);
+<a class="jxr_linenumber" name="L94" href="#L94">94</a> report.startReport();
+<a class="jxr_linenumber" name="L95" href="#L95">95</a> report(directory);
+<a class="jxr_linenumber" name="L96" href="#L96">96</a> report.endReport();
+<a class="jxr_linenumber" name="L97" href="#L97">97</a> writer.closeDocument();
+<a class="jxr_linenumber" name="L98" href="#L98">98</a> <strong class="jxr_keyword">final</strong> String output = out.toString();
+<a class="jxr_linenumber" name="L99" href="#L99">99</a> assertTrue(output.startsWith(<span class="jxr_string">"<?xml version='1.0'?>"</span> + <span class="jxr_string">"<rat-report timestamp="</span>), <span class="jxr_string">"Preamble and document element are OK"</span>);
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> assertTrue(XmlUtils.isWellFormedXml(output),<span class="jxr_string">"Is well formed"</span>);
+<a class="jxr_linenumber" name="L101" href="#L101">101</a>
+<a class="jxr_linenumber" name="L102" href="#L102">102</a> XPath xPath = XPathFactory.newInstance().newXPath();
+<a class="jxr_linenumber" name="L103" href="#L103">103</a> Document doc = XmlUtils.toDom(<strong class="jxr_keyword">new</strong> ByteArrayInputStream(out.toByteArray()));
+<a class="jxr_linenumber" name="L104" href="#L104">104</a>
+<a class="jxr_linenumber" name="L105" href="#L105">105</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/ILoggerFactory.java"</span>, <span class="jxr_string">"QOS"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L106" href="#L106">106</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Image.png"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"binary"</span>);
+<a class="jxr_linenumber" name="L107" href="#L107">107</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/LICENSE"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"notice"</span>);
+<a class="jxr_linenumber" name="L108" href="#L108">108</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/NOTICE"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"notice"</span>);
+<a class="jxr_linenumber" name="L109" href="#L109">109</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Source.java"</span>, <span class="jxr_string">"?????"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Text.txt"</span>, <span class="jxr_string">"ASF"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/TextHttps.txt"</span>, <span class="jxr_string">"ASF"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L112" href="#L112">112</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/Xml.xml"</span>, <span class="jxr_string">"ASF"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L113" href="#L113">113</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/buildr.rb"</span>, <span class="jxr_string">"ASF"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L114" href="#L114">114</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/dummy.jar"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"archive"</span>);
+<a class="jxr_linenumber" name="L115" href="#L115">115</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/plain.json"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"binary"</span>);
+<a class="jxr_linenumber" name="L116" href="#L116">116</a> XmlUtils.checkNode(doc, xPath, <span class="jxr_string">"src/test/resources/elements/sub/Empty.txt"</span>, <span class="jxr_string">"?????"</span>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"standard"</span>);
+<a class="jxr_linenumber" name="L117" href="#L117">117</a> }
+<a class="jxr_linenumber" name="L118" href="#L118">118</a>
+<a class="jxr_linenumber" name="L119" href="#L119">119</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/Report.html b/rat0161/apache-rat-core/xref/org/apache/rat/Report.html
index eda7d58d..321600f5 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/Report.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/Report.html
@@ -134,302 +134,301 @@
<a class="jxr_linenumber" name="L126" href="#L126">126</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L127" href="#L127">127</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L128" href="#L128">128</a> Options opts = buildOptions();
-<a class="jxr_linenumber" name="L129" href="#L129">129</a>
-<a class="jxr_linenumber" name="L130" href="#L130">130</a> CommandLine cl;
-<a class="jxr_linenumber" name="L131" href="#L131">131</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L132" href="#L132">132</a> cl = <strong class="jxr_keyword">new</strong> DefaultParser().parse(opts, args);
-<a class="jxr_linenumber" name="L133" href="#L133">133</a> } <strong class="jxr_keyword">catch</strong> (ParseException e) {
-<a class="jxr_linenumber" name="L134" href="#L134">134</a> System.err.println(e.getMessage());
-<a class="jxr_linenumber" name="L135" href="#L135">135</a> System.err.println(<span class="jxr_string">"Please use the \"--help\" option to see a list of valid commands and options"</span>);
-<a class="jxr_linenumber" name="L136" href="#L136">136</a> System.exit(1);
-<a class="jxr_linenumber" name="L137" href="#L137">137</a> <strong class="jxr_keyword">return</strong>; <em class="jxr_comment">// dummy return (won't be reached) to avoid Eclipse complaint about possible NPE</em>
-<a class="jxr_linenumber" name="L138" href="#L138">138</a> <em class="jxr_comment">// for "cl"</em>
-<a class="jxr_linenumber" name="L139" href="#L139">139</a> }
-<a class="jxr_linenumber" name="L140" href="#L140">140</a>
-<a class="jxr_linenumber" name="L141" href="#L141">141</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(HELP)) {
-<a class="jxr_linenumber" name="L142" href="#L142">142</a> printUsage(opts);
-<a class="jxr_linenumber" name="L143" href="#L143">143</a> }
-<a class="jxr_linenumber" name="L144" href="#L144">144</a>
-<a class="jxr_linenumber" name="L145" href="#L145">145</a> args = cl.getArgs();
-<a class="jxr_linenumber" name="L146" href="#L146">146</a> <strong class="jxr_keyword">if</strong> (args == <strong class="jxr_keyword">null</strong> || args.length != 1) {
-<a class="jxr_linenumber" name="L147" href="#L147">147</a> printUsage(opts);
-<a class="jxr_linenumber" name="L148" href="#L148">148</a> } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L149" href="#L149">149</a> <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a> configuration = createConfiguration(args[0], cl);
-<a class="jxr_linenumber" name="L150" href="#L150">150</a> configuration.validate(System.err::println);
-<a class="jxr_linenumber" name="L151" href="#L151">151</a>
-<a class="jxr_linenumber" name="L152" href="#L152">152</a> <strong class="jxr_keyword">boolean</strong> dryRun = false;
-<a class="jxr_linenumber" name="L153" href="#L153">153</a>
-<a class="jxr_linenumber" name="L154" href="#L154">154</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(LIST_FAMILIES)) {
-<a class="jxr_linenumber" name="L155" href="#L155">155</a> LicenseFilter f = LicenseFilter.fromText(cl.getOptionValue(LIST_FAMILIES));
-<a class="jxr_linenumber" name="L156" href="#L156">156</a> <strong class="jxr_keyword">if</strong> (f != LicenseFilter.none) {
-<a class="jxr_linenumber" name="L157" href="#L157">157</a> dryRun = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L158" href="#L158">158</a> Reporter.listLicenseFamilies(configuration, f);
-<a class="jxr_linenumber" name="L159" href="#L159">159</a> }
-<a class="jxr_linenumber" name="L160" href="#L160">160</a> }
-<a class="jxr_linenumber" name="L161" href="#L161">161</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(LIST_LICENSES)) {
-<a class="jxr_linenumber" name="L162" href="#L162">162</a> LicenseFilter f = LicenseFilter.fromText(cl.getOptionValue(LIST_LICENSES));
-<a class="jxr_linenumber" name="L163" href="#L163">163</a> <strong class="jxr_keyword">if</strong> (f != LicenseFilter.none) {
-<a class="jxr_linenumber" name="L164" href="#L164">164</a> dryRun = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L165" href="#L165">165</a> Reporter.listLicenses(configuration, f);
-<a class="jxr_linenumber" name="L166" href="#L166">166</a> }
-<a class="jxr_linenumber" name="L167" href="#L167">167</a> }
-<a class="jxr_linenumber" name="L168" href="#L168">168</a>
-<a class="jxr_linenumber" name="L169" href="#L169">169</a> <strong class="jxr_keyword">if</strong> (!dryRun) {
-<a class="jxr_linenumber" name="L170" href="#L170">170</a> Reporter.report(configuration);
-<a class="jxr_linenumber" name="L171" href="#L171">171</a> }
-<a class="jxr_linenumber" name="L172" href="#L172">172</a> }
-<a class="jxr_linenumber" name="L173" href="#L173">173</a> }
-<a class="jxr_linenumber" name="L174" href="#L174">174</a>
-<a class="jxr_linenumber" name="L175" href="#L175">175</a> <strong class="jxr_keyword">static</strong> <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a> createConfiguration(String baseDirectory, CommandLine cl) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L176" href="#L176">176</a> <strong class="jxr_keyword">final</strong> <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a> configuration = <strong class="jxr_keyword">new</strong> <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a>(DefaultLog.INSTANCE);
-<a class="jxr_linenumber" name="L177" href="#L177">177</a>
-<a class="jxr_linenumber" name="L178" href="#L178">178</a> <strong class="jxr_keyword">if</strong> (cl.hasOption('o')) {
-<a class="jxr_linenumber" name="L179" href="#L179">179</a> configuration.setOut(<strong class="jxr_keyword">new</strong> File(cl.getOptionValue('o')));
-<a class="jxr_linenumber" name="L180" href="#L180">180</a> }
-<a class="jxr_linenumber" name="L181" href="#L181">181</a>
-<a class="jxr_linenumber" name="L182" href="#L182">182</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(SCAN_HIDDEN_DIRECTORIES)) {
-<a class="jxr_linenumber" name="L183" href="#L183">183</a> configuration.setDirectoryFilter(<strong class="jxr_keyword">null</strong>);
-<a class="jxr_linenumber" name="L184" href="#L184">184</a> }
-<a class="jxr_linenumber" name="L185" href="#L185">185</a>
-<a class="jxr_linenumber" name="L186" href="#L186">186</a> <strong class="jxr_keyword">if</strong> (cl.hasOption('a') || cl.hasOption('A')) {
-<a class="jxr_linenumber" name="L187" href="#L187">187</a> configuration.setAddLicenseHeaders(cl.hasOption('f') ? AddLicenseHeaders.FORCED : AddLicenseHeaders.TRUE);
-<a class="jxr_linenumber" name="L188" href="#L188">188</a> configuration.setCopyrightMessage(cl.getOptionValue(<span class="jxr_string">"c"</span>));
-<a class="jxr_linenumber" name="L189" href="#L189">189</a> }
-<a class="jxr_linenumber" name="L190" href="#L190">190</a>
-<a class="jxr_linenumber" name="L191" href="#L191">191</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(EXCLUDE_CLI)) {
-<a class="jxr_linenumber" name="L192" href="#L192">192</a> String[] excludes = cl.getOptionValues(EXCLUDE_CLI);
-<a class="jxr_linenumber" name="L193" href="#L193">193</a> <strong class="jxr_keyword">if</strong> (excludes != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L194" href="#L194">194</a> <strong class="jxr_keyword">final</strong> FilenameFilter filter = parseExclusions(Arrays.asList(excludes));
-<a class="jxr_linenumber" name="L195" href="#L195">195</a> configuration.setInputFileFilter(filter);
-<a class="jxr_linenumber" name="L196" href="#L196">196</a> }
-<a class="jxr_linenumber" name="L197" href="#L197">197</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (cl.hasOption(EXCLUDE_FILE_CLI)) {
-<a class="jxr_linenumber" name="L198" href="#L198">198</a> String excludeFileName = cl.getOptionValue(EXCLUDE_FILE_CLI);
-<a class="jxr_linenumber" name="L199" href="#L199">199</a> <strong class="jxr_keyword">if</strong> (excludeFileName != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L200" href="#L200">200</a> <strong class="jxr_keyword">final</strong> FilenameFilter filter = parseExclusions(
-<a class="jxr_linenumber" name="L201" href="#L201">201</a> FileUtils.readLines(<strong class="jxr_keyword">new</strong> File(excludeFileName), StandardCharsets.UTF_8));
-<a class="jxr_linenumber" name="L202" href="#L202">202</a> configuration.setInputFileFilter(filter);
-<a class="jxr_linenumber" name="L203" href="#L203">203</a> }
-<a class="jxr_linenumber" name="L204" href="#L204">204</a> }
-<a class="jxr_linenumber" name="L205" href="#L205">205</a>
-<a class="jxr_linenumber" name="L206" href="#L206">206</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(XML)) {
-<a class="jxr_linenumber" name="L207" href="#L207">207</a> configuration.setStyleReport(false);
-<a class="jxr_linenumber" name="L208" href="#L208">208</a> } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L209" href="#L209">209</a> configuration.setStyleReport(<strong class="jxr_keyword">true</strong>);
-<a class="jxr_linenumber" name="L210" href="#L210">210</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(STYLESHEET_CLI)) {
-<a class="jxr_linenumber" name="L211" href="#L211">211</a> String[] style = cl.getOptionValues(STYLESHEET_CLI);
-<a class="jxr_linenumber" name="L212" href="#L212">212</a> <strong class="jxr_keyword">if</strong> (style.length != 1) {
-<a class="jxr_linenumber" name="L213" href="#L213">213</a> System.err.println(<span class="jxr_string">"Please specify a single stylesheet"</span>);
-<a class="jxr_linenumber" name="L214" href="#L214">214</a> System.exit(1);
-<a class="jxr_linenumber" name="L215" href="#L215">215</a> }
-<a class="jxr_linenumber" name="L216" href="#L216">216</a> configuration.setStyleSheet(() -> Files.newInputStream(Paths.get(style[0])));
-<a class="jxr_linenumber" name="L217" href="#L217">217</a> }
-<a class="jxr_linenumber" name="L218" href="#L218">218</a> }
-<a class="jxr_linenumber" name="L219" href="#L219">219</a>
-<a class="jxr_linenumber" name="L220" href="#L220">220</a> Defaults.Builder defaultBuilder = Defaults.builder();
-<a class="jxr_linenumber" name="L221" href="#L221">221</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(NO_DEFAULTS)) {
-<a class="jxr_linenumber" name="L222" href="#L222">222</a> defaultBuilder.noDefault();
-<a class="jxr_linenumber" name="L223" href="#L223">223</a> }
-<a class="jxr_linenumber" name="L224" href="#L224">224</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(LICENSES)) {
-<a class="jxr_linenumber" name="L225" href="#L225">225</a> <strong class="jxr_keyword">for</strong> (String fn : cl.getOptionValues(LICENSES)) {
-<a class="jxr_linenumber" name="L226" href="#L226">226</a> defaultBuilder.add(fn);
-<a class="jxr_linenumber" name="L227" href="#L227">227</a> }
-<a class="jxr_linenumber" name="L228" href="#L228">228</a> }
-<a class="jxr_linenumber" name="L229" href="#L229">229</a> <a name="Defaults" href="../../../org/apache/rat/Defaults.html#Defaults">Defaults</a> defaults = defaultBuilder.build();
-<a class="jxr_linenumber" name="L230" href="#L230">230</a> configuration.setFrom(defaults);
-<a class="jxr_linenumber" name="L231" href="#L231">231</a> configuration.setReportable(getDirectory(baseDirectory, configuration));
-<a class="jxr_linenumber" name="L232" href="#L232">232</a> <strong class="jxr_keyword">return</strong> configuration;
-<a class="jxr_linenumber" name="L233" href="#L233">233</a> }
-<a class="jxr_linenumber" name="L234" href="#L234">234</a>
-<a class="jxr_linenumber" name="L235" href="#L235">235</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L236" href="#L236">236</a> <em class="jxr_javadoccomment"> * Creates a filename filter from patterns to exclude.</em>
-<a class="jxr_linenumber" name="L237" href="#L237">237</a> <em class="jxr_javadoccomment"> * </em>
-<a class="jxr_linenumber" name="L238" href="#L238">238</a> <em class="jxr_javadoccomment"> * @param excludes the list of patterns to exclude.</em>
-<a class="jxr_linenumber" name="L239" href="#L239">239</a> <em class="jxr_javadoccomment"> * @return the FilenameFilter tht excludes the patterns</em>
-<a class="jxr_linenumber" name="L240" href="#L240">240</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L241" href="#L241">241</a> <strong class="jxr_keyword">static</strong> FilenameFilter parseExclusions(List<String> excludes) {
-<a class="jxr_linenumber" name="L242" href="#L242">242</a> <strong class="jxr_keyword">final</strong> OrFileFilter orFilter = <strong class="jxr_keyword">new</strong> OrFileFilter();
-<a class="jxr_linenumber" name="L243" href="#L243">243</a> <strong class="jxr_keyword">int</strong> ignoredLines = 0;
-<a class="jxr_linenumber" name="L244" href="#L244">244</a> <strong class="jxr_keyword">for</strong> (String exclude : excludes) {
-<a class="jxr_linenumber" name="L245" href="#L245">245</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L246" href="#L246">246</a> <em class="jxr_comment">// skip comments</em>
-<a class="jxr_linenumber" name="L247" href="#L247">247</a> <strong class="jxr_keyword">if</strong> (exclude.startsWith(<span class="jxr_string">"#"</span>) || StringUtils.isEmpty(exclude)) {
-<a class="jxr_linenumber" name="L248" href="#L248">248</a> ignoredLines++;
-<a class="jxr_linenumber" name="L249" href="#L249">249</a> <strong class="jxr_keyword">continue</strong>;
-<a class="jxr_linenumber" name="L250" href="#L250">250</a> }
-<a class="jxr_linenumber" name="L251" href="#L251">251</a>
-<a class="jxr_linenumber" name="L252" href="#L252">252</a> String exclusion = exclude.trim();
-<a class="jxr_linenumber" name="L253" href="#L253">253</a> <em class="jxr_comment">// interpret given patterns as regular expression, direct file names or</em>
-<a class="jxr_linenumber" name="L254" href="#L254">254</a> <em class="jxr_comment">// wildcards to give users more choices to configure exclusions</em>
-<a class="jxr_linenumber" name="L255" href="#L255">255</a> orFilter.addFileFilter(<strong class="jxr_keyword">new</strong> RegexFileFilter(exclusion));
-<a class="jxr_linenumber" name="L256" href="#L256">256</a> orFilter.addFileFilter(<strong class="jxr_keyword">new</strong> NameFileFilter(exclusion));
-<a class="jxr_linenumber" name="L257" href="#L257">257</a> orFilter.addFileFilter(WildcardFileFilter.builder().setWildcards(exclusion).get());
-<a class="jxr_linenumber" name="L258" href="#L258">258</a> } <strong class="jxr_keyword">catch</strong> (PatternSyntaxException e) {
-<a class="jxr_linenumber" name="L259" href="#L259">259</a> System.err.println(<span class="jxr_string">"Will skip given exclusion '"</span> + exclude + <span class="jxr_string">"' due to "</span> + e);
-<a class="jxr_linenumber" name="L260" href="#L260">260</a> }
-<a class="jxr_linenumber" name="L261" href="#L261">261</a> }
-<a class="jxr_linenumber" name="L262" href="#L262">262</a> System.err.println(<span class="jxr_string">"Ignored "</span> + ignoredLines + <span class="jxr_string">" lines in your exclusion files as comments or empty lines."</span>);
-<a class="jxr_linenumber" name="L263" href="#L263">263</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> NotFileFilter(orFilter);
-<a class="jxr_linenumber" name="L264" href="#L264">264</a> }
-<a class="jxr_linenumber" name="L265" href="#L265">265</a>
-<a class="jxr_linenumber" name="L266" href="#L266">266</a> <strong class="jxr_keyword">static</strong> Options buildOptions() {
-<a class="jxr_linenumber" name="L267" href="#L267">267</a> String licFilterValues = String.join(<span class="jxr_string">", "</span>,
-<a class="jxr_linenumber" name="L268" href="#L268">268</a> Arrays.stream(LicenseFilter.values()).map(LicenseFilter::name).collect(Collectors.toList()));
-<a class="jxr_linenumber" name="L269" href="#L269">269</a>
-<a class="jxr_linenumber" name="L270" href="#L270">270</a> Options opts = <strong class="jxr_keyword">new</strong> Options()
-<a class="jxr_linenumber" name="L271" href="#L271">271</a>
-<a class="jxr_linenumber" name="L272" href="#L272">272</a> .addOption(
-<a class="jxr_linenumber" name="L273" href="#L273">273</a> Option.builder().hasArg(<strong class="jxr_keyword">true</strong>).longOpt(LIST_FAMILIES)
-<a class="jxr_linenumber" name="L274" href="#L274">274</a> .desc(<span class="jxr_string">"List the defined license families (default is none). Valid options are: "</span>+licFilterValues+<span class="jxr_string">"."</span>)
-<a class="jxr_linenumber" name="L275" href="#L275">275</a> .build())
-<a class="jxr_linenumber" name="L276" href="#L276">276</a> .addOption(
-<a class="jxr_linenumber" name="L277" href="#L277">277</a> Option.builder().hasArg(<strong class="jxr_keyword">true</strong>).longOpt(LIST_LICENSES)
-<a class="jxr_linenumber" name="L278" href="#L278">278</a> .desc(<span class="jxr_string">"List the defined licenses (default is none). Valid options are: "</span>+licFilterValues+<span class="jxr_string">"."</span>)
-<a class="jxr_linenumber" name="L279" href="#L279">279</a> .build())
-<a class="jxr_linenumber" name="L280" href="#L280">280</a>
-<a class="jxr_linenumber" name="L281" href="#L281">281</a> .addOption(<strong class="jxr_keyword">new</strong> Option(HELP, <span class="jxr_string">"help"</span>, false, <span class="jxr_string">"Print help for the RAT command line interface and exit."</span>));
-<a class="jxr_linenumber" name="L282" href="#L282">282</a>
-<a class="jxr_linenumber" name="L283" href="#L283">283</a>
-<a class="jxr_linenumber" name="L284" href="#L284">284</a> Option out = <strong class="jxr_keyword">new</strong> Option(<span class="jxr_string">"o"</span>, <span class="jxr_string">"out"</span>, <strong class="jxr_keyword">true</strong>,
-<a class="jxr_linenumber" name="L285" href="#L285">285</a> <span class="jxr_string">"Define the output file where to write a report to (default is System.out)."</span>);
-<a class="jxr_linenumber" name="L286" href="#L286">286</a> opts.addOption(out);
-<a class="jxr_linenumber" name="L287" href="#L287">287</a>
-<a class="jxr_linenumber" name="L288" href="#L288">288</a> String defaultHandlingText = <span class="jxr_string">" By default all approved default licenses are used"</span>;
-<a class="jxr_linenumber" name="L289" href="#L289">289</a> Option noDefaults = <strong class="jxr_keyword">new</strong> Option(<strong class="jxr_keyword">null</strong>, NO_DEFAULTS, false, <span class="jxr_string">"Ignore default configuration."</span> + defaultHandlingText);
-<a class="jxr_linenumber" name="L290" href="#L290">290</a> opts.addOption(noDefaults);
-<a class="jxr_linenumber" name="L291" href="#L291">291</a>
-<a class="jxr_linenumber" name="L292" href="#L292">292</a> opts.addOption(<strong class="jxr_keyword">null</strong>, LICENSES, <strong class="jxr_keyword">true</strong>, <span class="jxr_string">"File names or URLs for license definitions"</span>);
-<a class="jxr_linenumber" name="L293" href="#L293">293</a> opts.addOption(<strong class="jxr_keyword">null</strong>, SCAN_HIDDEN_DIRECTORIES, false, <span class="jxr_string">"Scan hidden directories"</span>);
-<a class="jxr_linenumber" name="L294" href="#L294">294</a>
-<a class="jxr_linenumber" name="L295" href="#L295">295</a> OptionGroup addLicenseGroup = <strong class="jxr_keyword">new</strong> OptionGroup();
-<a class="jxr_linenumber" name="L296" href="#L296">296</a> String addLicenseDesc = <span class="jxr_string">"Add the default license header to any file with an unknown license that is not in the exclusion list. "</span>
-<a class="jxr_linenumber" name="L297" href="#L297">297</a> + <span class="jxr_string">"By default new files will be created with the license header, "</span>
-<a class="jxr_linenumber" name="L298" href="#L298">298</a> + <span class="jxr_string">"to force the modification of existing files use the --force option."</span>;
-<a class="jxr_linenumber" name="L299" href="#L299">299</a>
-<a class="jxr_linenumber" name="L300" href="#L300">300</a> <em class="jxr_comment">// RAT-85/RAT-203: Deprecated! added only for convenience and for backwards</em>
-<a class="jxr_linenumber" name="L301" href="#L301">301</a> <em class="jxr_comment">// compatibility</em>
-<a class="jxr_linenumber" name="L302" href="#L302">302</a> Option addLicence = <strong class="jxr_keyword">new</strong> Option(ADD_OLD, <span class="jxr_string">"addLicence"</span>, false, addLicenseDesc);
-<a class="jxr_linenumber" name="L303" href="#L303">303</a> addLicenseGroup.addOption(addLicence);
-<a class="jxr_linenumber" name="L304" href="#L304">304</a> Option addLicense = <strong class="jxr_keyword">new</strong> Option(ADD, <span class="jxr_string">"addLicense"</span>, false, addLicenseDesc);
-<a class="jxr_linenumber" name="L305" href="#L305">305</a> addLicenseGroup.addOption(addLicense);
-<a class="jxr_linenumber" name="L306" href="#L306">306</a> opts.addOptionGroup(addLicenseGroup);
-<a class="jxr_linenumber" name="L307" href="#L307">307</a>
-<a class="jxr_linenumber" name="L308" href="#L308">308</a> Option write = <strong class="jxr_keyword">new</strong> Option(FORCE, <span class="jxr_string">"force"</span>, false,
-<a class="jxr_linenumber" name="L309" href="#L309">309</a> <span class="jxr_string">"Forces any changes in files to be written directly to the source files (i.e. new files are not created)."</span>);
-<a class="jxr_linenumber" name="L310" href="#L310">310</a> opts.addOption(write);
-<a class="jxr_linenumber" name="L311" href="#L311">311</a>
-<a class="jxr_linenumber" name="L312" href="#L312">312</a> Option copyright = <strong class="jxr_keyword">new</strong> Option(COPYRIGHT, <span class="jxr_string">"copyright"</span>, <strong class="jxr_keyword">true</strong>,
-<a class="jxr_linenumber" name="L313" href="#L313">313</a> <span class="jxr_string">"The copyright message to use in the license headers, usually in the form of \"Copyright 2008 Foo\""</span>);
-<a class="jxr_linenumber" name="L314" href="#L314">314</a> opts.addOption(copyright);
-<a class="jxr_linenumber" name="L315" href="#L315">315</a>
-<a class="jxr_linenumber" name="L316" href="#L316">316</a> <strong class="jxr_keyword">final</strong> Option exclude = Option.builder(EXCLUDE_CLI).argName(<span class="jxr_string">"expression"</span>).longOpt(<span class="jxr_string">"exclude"</span>).hasArgs()
-<a class="jxr_linenumber" name="L317" href="#L317">317</a> .desc(<span class="jxr_string">"Excludes files matching wildcard <expression>. "</span>
-<a class="jxr_linenumber" name="L318" href="#L318">318</a> + <span class="jxr_string">"Note that --dir is required when using this parameter. "</span> + <span class="jxr_string">"Allows multiple arguments."</span>)
-<a class="jxr_linenumber" name="L319" href="#L319">319</a> .build();
-<a class="jxr_linenumber" name="L320" href="#L320">320</a> opts.addOption(exclude);
-<a class="jxr_linenumber" name="L321" href="#L321">321</a>
-<a class="jxr_linenumber" name="L322" href="#L322">322</a> <strong class="jxr_keyword">final</strong> Option excludeFile = Option.builder(EXCLUDE_FILE_CLI).argName(<span class="jxr_string">"fileName"</span>).longOpt(<span class="jxr_string">"exclude-file"</span>)
-<a class="jxr_linenumber" name="L323" href="#L323">323</a> .hasArgs().desc(<span class="jxr_string">"Excludes files matching regular expression in <file> "</span>
-<a class="jxr_linenumber" name="L324" href="#L324">324</a> + <span class="jxr_string">"Note that --dir is required when using this parameter. "</span>)
-<a class="jxr_linenumber" name="L325" href="#L325">325</a> .build();
-<a class="jxr_linenumber" name="L326" href="#L326">326</a> opts.addOption(excludeFile);
-<a class="jxr_linenumber" name="L327" href="#L327">327</a>
-<a class="jxr_linenumber" name="L328" href="#L328">328</a> Option dir = <strong class="jxr_keyword">new</strong> Option(<span class="jxr_string">"d"</span>, <span class="jxr_string">"dir"</span>, false, <span class="jxr_string">"Used to indicate source when using --exclude"</span>);
-<a class="jxr_linenumber" name="L329" href="#L329">329</a> opts.addOption(dir);
-<a class="jxr_linenumber" name="L330" href="#L330">330</a>
-<a class="jxr_linenumber" name="L331" href="#L331">331</a> OptionGroup outputType = <strong class="jxr_keyword">new</strong> OptionGroup();
-<a class="jxr_linenumber" name="L332" href="#L332">332</a>
-<a class="jxr_linenumber" name="L333" href="#L333">333</a> Option xml = <strong class="jxr_keyword">new</strong> Option(XML, <span class="jxr_string">"xml"</span>, false, <span class="jxr_string">"Output the report in raw XML format. Not compatible with -s"</span>);
-<a class="jxr_linenumber" name="L334" href="#L334">334</a> outputType.addOption(xml);
-<a class="jxr_linenumber" name="L335" href="#L335">335</a>
-<a class="jxr_linenumber" name="L336" href="#L336">336</a> Option xslt = <strong class="jxr_keyword">new</strong> Option(STYLESHEET_CLI, <span class="jxr_string">"stylesheet"</span>, <strong class="jxr_keyword">true</strong>,
-<a class="jxr_linenumber" name="L337" href="#L337">337</a> <span class="jxr_string">"XSLT stylesheet to use when creating the"</span> + <span class="jxr_string">" report. Not compatible with -x"</span>);
-<a class="jxr_linenumber" name="L338" href="#L338">338</a> outputType.addOption(xslt);
-<a class="jxr_linenumber" name="L339" href="#L339">339</a> opts.addOptionGroup(outputType);
-<a class="jxr_linenumber" name="L340" href="#L340">340</a>
-<a class="jxr_linenumber" name="L341" href="#L341">341</a> <strong class="jxr_keyword">return</strong> opts;
-<a class="jxr_linenumber" name="L342" href="#L342">342</a> }
-<a class="jxr_linenumber" name="L343" href="#L343">343</a>
-<a class="jxr_linenumber" name="L344" href="#L344">344</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> printUsage(Options opts) {
-<a class="jxr_linenumber" name="L345" href="#L345">345</a> HelpFormatter f = <strong class="jxr_keyword">new</strong> HelpFormatter();
-<a class="jxr_linenumber" name="L346" href="#L346">346</a> f.setOptionComparator(<strong class="jxr_keyword">new</strong> OptionComparator());
-<a class="jxr_linenumber" name="L347" href="#L347">347</a> String header = <span class="jxr_string">"\nAvailable options"</span>;
-<a class="jxr_linenumber" name="L348" href="#L348">348</a>
-<a class="jxr_linenumber" name="L349" href="#L349">349</a> String footer = <span class="jxr_string">"\nNOTE:\n"</span> + <span class="jxr_string">"Rat is really little more than a grep ATM\n"</span>
-<a class="jxr_linenumber" name="L350" href="#L350">350</a> + <span class="jxr_string">"Rat is also rather memory hungry ATM\n"</span> + <span class="jxr_string">"Rat is very basic ATM\n"</span>
-<a class="jxr_linenumber" name="L351" href="#L351">351</a> + <span class="jxr_string">"Rat highlights possible issues\n"</span> + <span class="jxr_string">"Rat reports require interpretation\n"</span>
-<a class="jxr_linenumber" name="L352" href="#L352">352</a> + <span class="jxr_string">"Rat often requires some tuning before it runs well against a project\n"</span>
-<a class="jxr_linenumber" name="L353" href="#L353">353</a> + <span class="jxr_string">"Rat relies on heuristics: it may miss issues\n"</span>;
-<a class="jxr_linenumber" name="L354" href="#L354">354</a>
-<a class="jxr_linenumber" name="L355" href="#L355">355</a> f.printHelp(<span class="jxr_string">"java -jar apache-rat/target/apache-rat-CURRENT-VERSION.jar [options] [DIR|TARBALL]"</span>, header, opts,
-<a class="jxr_linenumber" name="L356" href="#L356">356</a> footer, false);
-<a class="jxr_linenumber" name="L357" href="#L357">357</a> System.exit(0);
-<a class="jxr_linenumber" name="L358" href="#L358">358</a> }
-<a class="jxr_linenumber" name="L359" href="#L359">359</a>
-<a class="jxr_linenumber" name="L360" href="#L360">360</a> <strong class="jxr_keyword">private</strong> <a name="Report" href="../../../org/apache/rat/Report.html#Report">Report</a>() {
-<a class="jxr_linenumber" name="L361" href="#L361">361</a> <em class="jxr_comment">// do not instantiate</em>
-<a class="jxr_linenumber" name="L362" href="#L362">362</a> }
-<a class="jxr_linenumber" name="L363" href="#L363">363</a>
-<a class="jxr_linenumber" name="L364" href="#L364">364</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L365" href="#L365">365</a> <em class="jxr_javadoccomment"> * Creates an IReportable object from the directory name and ReportConfiguration</em>
-<a class="jxr_linenumber" name="L366" href="#L366">366</a> <em class="jxr_javadoccomment"> * object.</em>
-<a class="jxr_linenumber" name="L367" href="#L367">367</a> <em class="jxr_javadoccomment"> * </em>
-<a class="jxr_linenumber" name="L368" href="#L368">368</a> <em class="jxr_javadoccomment"> * @param baseDirectory the directory that contains the files to report on.</em>
-<a class="jxr_linenumber" name="L369" href="#L369">369</a> <em class="jxr_javadoccomment"> * @param config the ReportConfiguration.</em>
-<a class="jxr_linenumber" name="L370" href="#L370">370</a> <em class="jxr_javadoccomment"> * @return the IReportable instance containing the files.</em>
-<a class="jxr_linenumber" name="L371" href="#L371">371</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L372" href="#L372">372</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a name="IReportable" href="../../../org/apache/rat/report/IReportable.html#IReportable">IReportable</a> getDirectory(String baseDirectory, <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a> config) {
-<a class="jxr_linenumber" name="L373" href="#L373">373</a> <strong class="jxr_keyword">try</strong> (PrintStream out = <strong class="jxr_keyword">new</strong> PrintStream(config.getOutput().get())) {
-<a class="jxr_linenumber" name="L374" href="#L374">374</a> File base = <strong class="jxr_keyword">new</strong> File(baseDirectory);
-<a class="jxr_linenumber" name="L375" href="#L375">375</a>
-<a class="jxr_linenumber" name="L376" href="#L376">376</a> <strong class="jxr_keyword">if</strong> (!base.exists()) {
-<a class="jxr_linenumber" name="L377" href="#L377">377</a> config.getLog().log(Level.ERROR, <span class="jxr_string">"Directory '"</span>+baseDirectory+<span class="jxr_string">"' does not exist"</span>);
-<a class="jxr_linenumber" name="L378" href="#L378">378</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L379" href="#L379">379</a> }
-<a class="jxr_linenumber" name="L380" href="#L380">380</a>
-<a class="jxr_linenumber" name="L381" href="#L381">381</a> <strong class="jxr_keyword">if</strong> (base.isDirectory()) {
-<a class="jxr_linenumber" name="L382" href="#L382">382</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a name="DirectoryWalker" href="../../../org/apache/rat/walker/DirectoryWalker.html#DirectoryWalker">DirectoryWalker</a>(base, config.getInputFileFilter(), config.getDirectoryFilter());
-<a class="jxr_linenumber" name="L383" href="#L383">383</a> }
-<a class="jxr_linenumber" name="L384" href="#L384">384</a>
-<a class="jxr_linenumber" name="L385" href="#L385">385</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L386" href="#L386">386</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a name="ArchiveWalker" href="../../../org/apache/rat/walker/ArchiveWalker.html#ArchiveWalker">ArchiveWalker</a>(base, config.getInputFileFilter());
-<a class="jxr_linenumber" name="L387" href="#L387">387</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
-<a class="jxr_linenumber" name="L388" href="#L388">388</a> config.getLog().log(Level.ERROR, <span class="jxr_string">"file '"</span>+baseDirectory+<span class="jxr_string">"' is not valid gzip data."</span>);
-<a class="jxr_linenumber" name="L389" href="#L389">389</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L390" href="#L390">390</a> }
-<a class="jxr_linenumber" name="L391" href="#L391">391</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
-<a class="jxr_linenumber" name="L392" href="#L392">392</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="ConfigurationException" href="../../../org/apache/rat/ConfigurationException.html#ConfigurationException">ConfigurationException</a>(<span class="jxr_string">"Error opening output"</span>, e);
-<a class="jxr_linenumber" name="L393" href="#L393">393</a> }
-<a class="jxr_linenumber" name="L394" href="#L394">394</a> }
-<a class="jxr_linenumber" name="L395" href="#L395">395</a>
-<a class="jxr_linenumber" name="L396" href="#L396">396</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L397" href="#L397">397</a> <em class="jxr_javadoccomment"> * This class implements the {@code Comparator} interface for comparing Options.</em>
-<a class="jxr_linenumber" name="L398" href="#L398">398</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L399" href="#L399">399</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> OptionComparator <strong class="jxr_keyword">implements</strong> Comparator<Option>, Serializable {
-<a class="jxr_linenumber" name="L400" href="#L400">400</a> <em class="jxr_javadoccomment">/** The serial version UID. */</em>
-<a class="jxr_linenumber" name="L401" href="#L401">401</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 5305467873966684014L;
-<a class="jxr_linenumber" name="L402" href="#L402">402</a>
-<a class="jxr_linenumber" name="L403" href="#L403">403</a> <strong class="jxr_keyword">private</strong> String getKey(Option opt) {
-<a class="jxr_linenumber" name="L404" href="#L404">404</a> String key = opt.getOpt();
-<a class="jxr_linenumber" name="L405" href="#L405">405</a> key = key == <strong class="jxr_keyword">null</strong> ? opt.getLongOpt() : key;
-<a class="jxr_linenumber" name="L406" href="#L406">406</a> <strong class="jxr_keyword">return</strong> key;
-<a class="jxr_linenumber" name="L407" href="#L407">407</a> }
-<a class="jxr_linenumber" name="L408" href="#L408">408</a>
-<a class="jxr_linenumber" name="L409" href="#L409">409</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L410" href="#L410">410</a> <em class="jxr_javadoccomment"> * Compares its two arguments for order. Returns a negative integer, zero, or a</em>
-<a class="jxr_linenumber" name="L411" href="#L411">411</a> <em class="jxr_javadoccomment"> * positive integer as the first argument is less than, equal to, or greater</em>
-<a class="jxr_linenumber" name="L412" href="#L412">412</a> <em class="jxr_javadoccomment"> * than the second.</em>
-<a class="jxr_linenumber" name="L413" href="#L413">413</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L414" href="#L414">414</a> <em class="jxr_javadoccomment"> * @param opt1 The first Option to be compared.</em>
-<a class="jxr_linenumber" name="L415" href="#L415">415</a> <em class="jxr_javadoccomment"> * @param opt2 The second Option to be compared.</em>
-<a class="jxr_linenumber" name="L416" href="#L416">416</a> <em class="jxr_javadoccomment"> * @return a negative integer, zero, or a positive integer as the first argument</em>
-<a class="jxr_linenumber" name="L417" href="#L417">417</a> <em class="jxr_javadoccomment"> * is less than, equal to, or greater than the second.</em>
-<a class="jxr_linenumber" name="L418" href="#L418">418</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L419" href="#L419">419</a> @Override
-<a class="jxr_linenumber" name="L420" href="#L420">420</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compare(<strong class="jxr_keyword">final</strong> Option opt1, <strong class="jxr_keyword">final</strong> Option opt2) {
-<a class="jxr_linenumber" name="L421" href="#L421">421</a> <strong class="jxr_keyword">return</strong> getKey(opt1).compareToIgnoreCase(getKey(opt2));
-<a class="jxr_linenumber" name="L422" href="#L422">422</a> }
-<a class="jxr_linenumber" name="L423" href="#L423">423</a> }
-<a class="jxr_linenumber" name="L424" href="#L424">424</a> }
+<a class="jxr_linenumber" name="L129" href="#L129">129</a> CommandLine cl;
+<a class="jxr_linenumber" name="L130" href="#L130">130</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L131" href="#L131">131</a> cl = <strong class="jxr_keyword">new</strong> DefaultParser().parse(opts, args);
+<a class="jxr_linenumber" name="L132" href="#L132">132</a> } <strong class="jxr_keyword">catch</strong> (ParseException e) {
+<a class="jxr_linenumber" name="L133" href="#L133">133</a> DefaultLog.INSTANCE.error(e.getMessage());
+<a class="jxr_linenumber" name="L134" href="#L134">134</a> DefaultLog.INSTANCE.error(<span class="jxr_string">"Please use the \"--help\" option to see a list of valid commands and options"</span>);
+<a class="jxr_linenumber" name="L135" href="#L135">135</a> System.exit(1);
+<a class="jxr_linenumber" name="L136" href="#L136">136</a> <strong class="jxr_keyword">return</strong>; <em class="jxr_comment">// dummy return (won't be reached) to avoid Eclipse complaint about possible NPE</em>
+<a class="jxr_linenumber" name="L137" href="#L137">137</a> <em class="jxr_comment">// for "cl"</em>
+<a class="jxr_linenumber" name="L138" href="#L138">138</a> }
+<a class="jxr_linenumber" name="L139" href="#L139">139</a>
+<a class="jxr_linenumber" name="L140" href="#L140">140</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(HELP)) {
+<a class="jxr_linenumber" name="L141" href="#L141">141</a> printUsage(opts);
+<a class="jxr_linenumber" name="L142" href="#L142">142</a> }
+<a class="jxr_linenumber" name="L143" href="#L143">143</a>
+<a class="jxr_linenumber" name="L144" href="#L144">144</a> args = cl.getArgs();
+<a class="jxr_linenumber" name="L145" href="#L145">145</a> <strong class="jxr_keyword">if</strong> (args == <strong class="jxr_keyword">null</strong> || args.length != 1) {
+<a class="jxr_linenumber" name="L146" href="#L146">146</a> printUsage(opts);
+<a class="jxr_linenumber" name="L147" href="#L147">147</a> } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L148" href="#L148">148</a> <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a> configuration = createConfiguration(args[0], cl);
+<a class="jxr_linenumber" name="L149" href="#L149">149</a> configuration.validate(DefaultLog.INSTANCE::error);
+<a class="jxr_linenumber" name="L150" href="#L150">150</a>
+<a class="jxr_linenumber" name="L151" href="#L151">151</a> <strong class="jxr_keyword">boolean</strong> dryRun = false;
+<a class="jxr_linenumber" name="L152" href="#L152">152</a>
+<a class="jxr_linenumber" name="L153" href="#L153">153</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(LIST_FAMILIES)) {
+<a class="jxr_linenumber" name="L154" href="#L154">154</a> LicenseFilter f = LicenseFilter.fromText(cl.getOptionValue(LIST_FAMILIES));
+<a class="jxr_linenumber" name="L155" href="#L155">155</a> <strong class="jxr_keyword">if</strong> (f != LicenseFilter.none) {
+<a class="jxr_linenumber" name="L156" href="#L156">156</a> dryRun = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L157" href="#L157">157</a> Reporter.listLicenseFamilies(configuration, f);
+<a class="jxr_linenumber" name="L158" href="#L158">158</a> }
+<a class="jxr_linenumber" name="L159" href="#L159">159</a> }
+<a class="jxr_linenumber" name="L160" href="#L160">160</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(LIST_LICENSES)) {
+<a class="jxr_linenumber" name="L161" href="#L161">161</a> LicenseFilter f = LicenseFilter.fromText(cl.getOptionValue(LIST_LICENSES));
+<a class="jxr_linenumber" name="L162" href="#L162">162</a> <strong class="jxr_keyword">if</strong> (f != LicenseFilter.none) {
+<a class="jxr_linenumber" name="L163" href="#L163">163</a> dryRun = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L164" href="#L164">164</a> Reporter.listLicenses(configuration, f);
+<a class="jxr_linenumber" name="L165" href="#L165">165</a> }
+<a class="jxr_linenumber" name="L166" href="#L166">166</a> }
+<a class="jxr_linenumber" name="L167" href="#L167">167</a>
+<a class="jxr_linenumber" name="L168" href="#L168">168</a> <strong class="jxr_keyword">if</strong> (!dryRun) {
+<a class="jxr_linenumber" name="L169" href="#L169">169</a> Reporter.report(configuration);
+<a class="jxr_linenumber" name="L170" href="#L170">170</a> }
+<a class="jxr_linenumber" name="L171" href="#L171">171</a> }
+<a class="jxr_linenumber" name="L172" href="#L172">172</a> }
+<a class="jxr_linenumber" name="L173" href="#L173">173</a>
+<a class="jxr_linenumber" name="L174" href="#L174">174</a> <strong class="jxr_keyword">static</strong> <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a> createConfiguration(String baseDirectory, CommandLine cl) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L175" href="#L175">175</a> <strong class="jxr_keyword">final</strong> <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a> configuration = <strong class="jxr_keyword">new</strong> <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a>(DefaultLog.INSTANCE);
+<a class="jxr_linenumber" name="L176" href="#L176">176</a>
+<a class="jxr_linenumber" name="L177" href="#L177">177</a> <strong class="jxr_keyword">if</strong> (cl.hasOption('o')) {
+<a class="jxr_linenumber" name="L178" href="#L178">178</a> configuration.setOut(<strong class="jxr_keyword">new</strong> File(cl.getOptionValue('o')));
+<a class="jxr_linenumber" name="L179" href="#L179">179</a> }
+<a class="jxr_linenumber" name="L180" href="#L180">180</a>
+<a class="jxr_linenumber" name="L181" href="#L181">181</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(SCAN_HIDDEN_DIRECTORIES)) {
+<a class="jxr_linenumber" name="L182" href="#L182">182</a> configuration.setDirectoryFilter(<strong class="jxr_keyword">null</strong>);
+<a class="jxr_linenumber" name="L183" href="#L183">183</a> }
+<a class="jxr_linenumber" name="L184" href="#L184">184</a>
+<a class="jxr_linenumber" name="L185" href="#L185">185</a> <strong class="jxr_keyword">if</strong> (cl.hasOption('a') || cl.hasOption('A')) {
+<a class="jxr_linenumber" name="L186" href="#L186">186</a> configuration.setAddLicenseHeaders(cl.hasOption('f') ? AddLicenseHeaders.FORCED : AddLicenseHeaders.TRUE);
+<a class="jxr_linenumber" name="L187" href="#L187">187</a> configuration.setCopyrightMessage(cl.getOptionValue(<span class="jxr_string">"c"</span>));
+<a class="jxr_linenumber" name="L188" href="#L188">188</a> }
+<a class="jxr_linenumber" name="L189" href="#L189">189</a>
+<a class="jxr_linenumber" name="L190" href="#L190">190</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(EXCLUDE_CLI)) {
+<a class="jxr_linenumber" name="L191" href="#L191">191</a> String[] excludes = cl.getOptionValues(EXCLUDE_CLI);
+<a class="jxr_linenumber" name="L192" href="#L192">192</a> <strong class="jxr_keyword">if</strong> (excludes != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L193" href="#L193">193</a> <strong class="jxr_keyword">final</strong> FilenameFilter filter = parseExclusions(Arrays.asList(excludes));
+<a class="jxr_linenumber" name="L194" href="#L194">194</a> configuration.setInputFileFilter(filter);
+<a class="jxr_linenumber" name="L195" href="#L195">195</a> }
+<a class="jxr_linenumber" name="L196" href="#L196">196</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (cl.hasOption(EXCLUDE_FILE_CLI)) {
+<a class="jxr_linenumber" name="L197" href="#L197">197</a> String excludeFileName = cl.getOptionValue(EXCLUDE_FILE_CLI);
+<a class="jxr_linenumber" name="L198" href="#L198">198</a> <strong class="jxr_keyword">if</strong> (excludeFileName != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L199" href="#L199">199</a> <strong class="jxr_keyword">final</strong> FilenameFilter filter = parseExclusions(
+<a class="jxr_linenumber" name="L200" href="#L200">200</a> FileUtils.readLines(<strong class="jxr_keyword">new</strong> File(excludeFileName), StandardCharsets.UTF_8));
+<a class="jxr_linenumber" name="L201" href="#L201">201</a> configuration.setInputFileFilter(filter);
+<a class="jxr_linenumber" name="L202" href="#L202">202</a> }
+<a class="jxr_linenumber" name="L203" href="#L203">203</a> }
+<a class="jxr_linenumber" name="L204" href="#L204">204</a>
+<a class="jxr_linenumber" name="L205" href="#L205">205</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(XML)) {
+<a class="jxr_linenumber" name="L206" href="#L206">206</a> configuration.setStyleReport(false);
+<a class="jxr_linenumber" name="L207" href="#L207">207</a> } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L208" href="#L208">208</a> configuration.setStyleReport(<strong class="jxr_keyword">true</strong>);
+<a class="jxr_linenumber" name="L209" href="#L209">209</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(STYLESHEET_CLI)) {
+<a class="jxr_linenumber" name="L210" href="#L210">210</a> String[] style = cl.getOptionValues(STYLESHEET_CLI);
+<a class="jxr_linenumber" name="L211" href="#L211">211</a> <strong class="jxr_keyword">if</strong> (style.length != 1) {
+<a class="jxr_linenumber" name="L212" href="#L212">212</a> DefaultLog.INSTANCE.error(<span class="jxr_string">"Please specify a single stylesheet"</span>);
+<a class="jxr_linenumber" name="L213" href="#L213">213</a> System.exit(1);
+<a class="jxr_linenumber" name="L214" href="#L214">214</a> }
+<a class="jxr_linenumber" name="L215" href="#L215">215</a> configuration.setStyleSheet(() -> Files.newInputStream(Paths.get(style[0])));
+<a class="jxr_linenumber" name="L216" href="#L216">216</a> }
+<a class="jxr_linenumber" name="L217" href="#L217">217</a> }
+<a class="jxr_linenumber" name="L218" href="#L218">218</a>
+<a class="jxr_linenumber" name="L219" href="#L219">219</a> Defaults.Builder defaultBuilder = Defaults.builder();
+<a class="jxr_linenumber" name="L220" href="#L220">220</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(NO_DEFAULTS)) {
+<a class="jxr_linenumber" name="L221" href="#L221">221</a> defaultBuilder.noDefault();
+<a class="jxr_linenumber" name="L222" href="#L222">222</a> }
+<a class="jxr_linenumber" name="L223" href="#L223">223</a> <strong class="jxr_keyword">if</strong> (cl.hasOption(LICENSES)) {
+<a class="jxr_linenumber" name="L224" href="#L224">224</a> <strong class="jxr_keyword">for</strong> (String fn : cl.getOptionValues(LICENSES)) {
+<a class="jxr_linenumber" name="L225" href="#L225">225</a> defaultBuilder.add(fn);
+<a class="jxr_linenumber" name="L226" href="#L226">226</a> }
+<a class="jxr_linenumber" name="L227" href="#L227">227</a> }
+<a class="jxr_linenumber" name="L228" href="#L228">228</a> <a name="Defaults" href="../../../org/apache/rat/Defaults.html#Defaults">Defaults</a> defaults = defaultBuilder.build();
+<a class="jxr_linenumber" name="L229" href="#L229">229</a> configuration.setFrom(defaults);
+<a class="jxr_linenumber" name="L230" href="#L230">230</a> configuration.setReportable(getDirectory(baseDirectory, configuration));
+<a class="jxr_linenumber" name="L231" href="#L231">231</a> <strong class="jxr_keyword">return</strong> configuration;
+<a class="jxr_linenumber" name="L232" href="#L232">232</a> }
+<a class="jxr_linenumber" name="L233" href="#L233">233</a>
+<a class="jxr_linenumber" name="L234" href="#L234">234</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L235" href="#L235">235</a> <em class="jxr_javadoccomment"> * Creates a filename filter from patterns to exclude.</em>
+<a class="jxr_linenumber" name="L236" href="#L236">236</a> <em class="jxr_javadoccomment"> * </em>
+<a class="jxr_linenumber" name="L237" href="#L237">237</a> <em class="jxr_javadoccomment"> * @param excludes the list of patterns to exclude.</em>
+<a class="jxr_linenumber" name="L238" href="#L238">238</a> <em class="jxr_javadoccomment"> * @return the FilenameFilter tht excludes the patterns</em>
+<a class="jxr_linenumber" name="L239" href="#L239">239</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L240" href="#L240">240</a> <strong class="jxr_keyword">static</strong> FilenameFilter parseExclusions(List<String> excludes) {
+<a class="jxr_linenumber" name="L241" href="#L241">241</a> <strong class="jxr_keyword">final</strong> OrFileFilter orFilter = <strong class="jxr_keyword">new</strong> OrFileFilter();
+<a class="jxr_linenumber" name="L242" href="#L242">242</a> <strong class="jxr_keyword">int</strong> ignoredLines = 0;
+<a class="jxr_linenumber" name="L243" href="#L243">243</a> <strong class="jxr_keyword">for</strong> (String exclude : excludes) {
+<a class="jxr_linenumber" name="L244" href="#L244">244</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L245" href="#L245">245</a> <em class="jxr_comment">// skip comments</em>
+<a class="jxr_linenumber" name="L246" href="#L246">246</a> <strong class="jxr_keyword">if</strong> (exclude.startsWith(<span class="jxr_string">"#"</span>) || StringUtils.isEmpty(exclude)) {
+<a class="jxr_linenumber" name="L247" href="#L247">247</a> ignoredLines++;
+<a class="jxr_linenumber" name="L248" href="#L248">248</a> <strong class="jxr_keyword">continue</strong>;
+<a class="jxr_linenumber" name="L249" href="#L249">249</a> }
+<a class="jxr_linenumber" name="L250" href="#L250">250</a>
+<a class="jxr_linenumber" name="L251" href="#L251">251</a> String exclusion = exclude.trim();
+<a class="jxr_linenumber" name="L252" href="#L252">252</a> <em class="jxr_comment">// interpret given patterns as regular expression, direct file names or</em>
+<a class="jxr_linenumber" name="L253" href="#L253">253</a> <em class="jxr_comment">// wildcards to give users more choices to configure exclusions</em>
+<a class="jxr_linenumber" name="L254" href="#L254">254</a> orFilter.addFileFilter(<strong class="jxr_keyword">new</strong> RegexFileFilter(exclusion));
+<a class="jxr_linenumber" name="L255" href="#L255">255</a> orFilter.addFileFilter(<strong class="jxr_keyword">new</strong> NameFileFilter(exclusion));
+<a class="jxr_linenumber" name="L256" href="#L256">256</a> orFilter.addFileFilter(WildcardFileFilter.builder().setWildcards(exclusion).get());
+<a class="jxr_linenumber" name="L257" href="#L257">257</a> } <strong class="jxr_keyword">catch</strong> (PatternSyntaxException e) {
+<a class="jxr_linenumber" name="L258" href="#L258">258</a> DefaultLog.INSTANCE.error(<span class="jxr_string">"Will skip given exclusion '"</span> + exclude + <span class="jxr_string">"' due to "</span> + e);
+<a class="jxr_linenumber" name="L259" href="#L259">259</a> }
+<a class="jxr_linenumber" name="L260" href="#L260">260</a> }
+<a class="jxr_linenumber" name="L261" href="#L261">261</a> DefaultLog.INSTANCE.error(<span class="jxr_string">"Ignored "</span> + ignoredLines + <span class="jxr_string">" lines in your exclusion files as comments or empty lines."</span>);
+<a class="jxr_linenumber" name="L262" href="#L262">262</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> NotFileFilter(orFilter);
+<a class="jxr_linenumber" name="L263" href="#L263">263</a> }
+<a class="jxr_linenumber" name="L264" href="#L264">264</a>
+<a class="jxr_linenumber" name="L265" href="#L265">265</a> <strong class="jxr_keyword">static</strong> Options buildOptions() {
+<a class="jxr_linenumber" name="L266" href="#L266">266</a> String licFilterValues = String.join(<span class="jxr_string">", "</span>,
+<a class="jxr_linenumber" name="L267" href="#L267">267</a> Arrays.stream(LicenseFilter.values()).map(LicenseFilter::name).collect(Collectors.toList()));
+<a class="jxr_linenumber" name="L268" href="#L268">268</a>
+<a class="jxr_linenumber" name="L269" href="#L269">269</a> Options opts = <strong class="jxr_keyword">new</strong> Options()
+<a class="jxr_linenumber" name="L270" href="#L270">270</a>
+<a class="jxr_linenumber" name="L271" href="#L271">271</a> .addOption(
+<a class="jxr_linenumber" name="L272" href="#L272">272</a> Option.builder().hasArg(<strong class="jxr_keyword">true</strong>).longOpt(LIST_FAMILIES)
+<a class="jxr_linenumber" name="L273" href="#L273">273</a> .desc(<span class="jxr_string">"List the defined license families (default is none). Valid options are: "</span>+licFilterValues+<span class="jxr_string">"."</span>)
+<a class="jxr_linenumber" name="L274" href="#L274">274</a> .build())
+<a class="jxr_linenumber" name="L275" href="#L275">275</a> .addOption(
+<a class="jxr_linenumber" name="L276" href="#L276">276</a> Option.builder().hasArg(<strong class="jxr_keyword">true</strong>).longOpt(LIST_LICENSES)
+<a class="jxr_linenumber" name="L277" href="#L277">277</a> .desc(<span class="jxr_string">"List the defined licenses (default is none). Valid options are: "</span>+licFilterValues+<span class="jxr_string">"."</span>)
+<a class="jxr_linenumber" name="L278" href="#L278">278</a> .build())
+<a class="jxr_linenumber" name="L279" href="#L279">279</a>
+<a class="jxr_linenumber" name="L280" href="#L280">280</a> .addOption(<strong class="jxr_keyword">new</strong> Option(HELP, <span class="jxr_string">"help"</span>, false, <span class="jxr_string">"Print help for the RAT command line interface and exit."</span>));
+<a class="jxr_linenumber" name="L281" href="#L281">281</a>
+<a class="jxr_linenumber" name="L282" href="#L282">282</a>
+<a class="jxr_linenumber" name="L283" href="#L283">283</a> Option out = <strong class="jxr_keyword">new</strong> Option(<span class="jxr_string">"o"</span>, <span class="jxr_string">"out"</span>, <strong class="jxr_keyword">true</strong>,
+<a class="jxr_linenumber" name="L284" href="#L284">284</a> <span class="jxr_string">"Define the output file where to write a report to (default is System.out)."</span>);
+<a class="jxr_linenumber" name="L285" href="#L285">285</a> opts.addOption(out);
+<a class="jxr_linenumber" name="L286" href="#L286">286</a>
+<a class="jxr_linenumber" name="L287" href="#L287">287</a> String defaultHandlingText = <span class="jxr_string">" By default all approved default licenses are used"</span>;
+<a class="jxr_linenumber" name="L288" href="#L288">288</a> Option noDefaults = <strong class="jxr_keyword">new</strong> Option(<strong class="jxr_keyword">null</strong>, NO_DEFAULTS, false, <span class="jxr_string">"Ignore default configuration."</span> + defaultHandlingText);
+<a class="jxr_linenumber" name="L289" href="#L289">289</a> opts.addOption(noDefaults);
+<a class="jxr_linenumber" name="L290" href="#L290">290</a>
+<a class="jxr_linenumber" name="L291" href="#L291">291</a> opts.addOption(<strong class="jxr_keyword">null</strong>, LICENSES, <strong class="jxr_keyword">true</strong>, <span class="jxr_string">"File names or URLs for license definitions"</span>);
+<a class="jxr_linenumber" name="L292" href="#L292">292</a> opts.addOption(<strong class="jxr_keyword">null</strong>, SCAN_HIDDEN_DIRECTORIES, false, <span class="jxr_string">"Scan hidden directories"</span>);
+<a class="jxr_linenumber" name="L293" href="#L293">293</a>
+<a class="jxr_linenumber" name="L294" href="#L294">294</a> OptionGroup addLicenseGroup = <strong class="jxr_keyword">new</strong> OptionGroup();
+<a class="jxr_linenumber" name="L295" href="#L295">295</a> String addLicenseDesc = <span class="jxr_string">"Add the default license header to any file with an unknown license that is not in the exclusion list. "</span>
+<a class="jxr_linenumber" name="L296" href="#L296">296</a> + <span class="jxr_string">"By default new files will be created with the license header, "</span>
+<a class="jxr_linenumber" name="L297" href="#L297">297</a> + <span class="jxr_string">"to force the modification of existing files use the --force option."</span>;
+<a class="jxr_linenumber" name="L298" href="#L298">298</a>
+<a class="jxr_linenumber" name="L299" href="#L299">299</a> <em class="jxr_comment">// RAT-85/RAT-203: Deprecated! added only for convenience and for backwards</em>
+<a class="jxr_linenumber" name="L300" href="#L300">300</a> <em class="jxr_comment">// compatibility</em>
+<a class="jxr_linenumber" name="L301" href="#L301">301</a> Option addLicence = <strong class="jxr_keyword">new</strong> Option(ADD_OLD, <span class="jxr_string">"addLicence"</span>, false, addLicenseDesc);
+<a class="jxr_linenumber" name="L302" href="#L302">302</a> addLicenseGroup.addOption(addLicence);
+<a class="jxr_linenumber" name="L303" href="#L303">303</a> Option addLicense = <strong class="jxr_keyword">new</strong> Option(ADD, <span class="jxr_string">"addLicense"</span>, false, addLicenseDesc);
+<a class="jxr_linenumber" name="L304" href="#L304">304</a> addLicenseGroup.addOption(addLicense);
+<a class="jxr_linenumber" name="L305" href="#L305">305</a> opts.addOptionGroup(addLicenseGroup);
+<a class="jxr_linenumber" name="L306" href="#L306">306</a>
+<a class="jxr_linenumber" name="L307" href="#L307">307</a> Option write = <strong class="jxr_keyword">new</strong> Option(FORCE, <span class="jxr_string">"force"</span>, false,
+<a class="jxr_linenumber" name="L308" href="#L308">308</a> <span class="jxr_string">"Forces any changes in files to be written directly to the source files (i.e. new files are not created)."</span>);
+<a class="jxr_linenumber" name="L309" href="#L309">309</a> opts.addOption(write);
+<a class="jxr_linenumber" name="L310" href="#L310">310</a>
+<a class="jxr_linenumber" name="L311" href="#L311">311</a> Option copyright = <strong class="jxr_keyword">new</strong> Option(COPYRIGHT, <span class="jxr_string">"copyright"</span>, <strong class="jxr_keyword">true</strong>,
+<a class="jxr_linenumber" name="L312" href="#L312">312</a> <span class="jxr_string">"The copyright message to use in the license headers, usually in the form of \"Copyright 2008 Foo\""</span>);
+<a class="jxr_linenumber" name="L313" href="#L313">313</a> opts.addOption(copyright);
+<a class="jxr_linenumber" name="L314" href="#L314">314</a>
+<a class="jxr_linenumber" name="L315" href="#L315">315</a> <strong class="jxr_keyword">final</strong> Option exclude = Option.builder(EXCLUDE_CLI).argName(<span class="jxr_string">"expression"</span>).longOpt(<span class="jxr_string">"exclude"</span>).hasArgs()
+<a class="jxr_linenumber" name="L316" href="#L316">316</a> .desc(<span class="jxr_string">"Excludes files matching wildcard <expression>. "</span>
+<a class="jxr_linenumber" name="L317" href="#L317">317</a> + <span class="jxr_string">"Note that --dir is required when using this parameter. "</span> + <span class="jxr_string">"Allows multiple arguments."</span>)
+<a class="jxr_linenumber" name="L318" href="#L318">318</a> .build();
+<a class="jxr_linenumber" name="L319" href="#L319">319</a> opts.addOption(exclude);
+<a class="jxr_linenumber" name="L320" href="#L320">320</a>
+<a class="jxr_linenumber" name="L321" href="#L321">321</a> <strong class="jxr_keyword">final</strong> Option excludeFile = Option.builder(EXCLUDE_FILE_CLI).argName(<span class="jxr_string">"fileName"</span>).longOpt(<span class="jxr_string">"exclude-file"</span>)
+<a class="jxr_linenumber" name="L322" href="#L322">322</a> .hasArgs().desc(<span class="jxr_string">"Excludes files matching regular expression in <file> "</span>
+<a class="jxr_linenumber" name="L323" href="#L323">323</a> + <span class="jxr_string">"Note that --dir is required when using this parameter. "</span>)
+<a class="jxr_linenumber" name="L324" href="#L324">324</a> .build();
+<a class="jxr_linenumber" name="L325" href="#L325">325</a> opts.addOption(excludeFile);
+<a class="jxr_linenumber" name="L326" href="#L326">326</a>
+<a class="jxr_linenumber" name="L327" href="#L327">327</a> Option dir = <strong class="jxr_keyword">new</strong> Option(<span class="jxr_string">"d"</span>, <span class="jxr_string">"dir"</span>, false, <span class="jxr_string">"Used to indicate source when using --exclude"</span>);
+<a class="jxr_linenumber" name="L328" href="#L328">328</a> opts.addOption(dir);
+<a class="jxr_linenumber" name="L329" href="#L329">329</a>
+<a class="jxr_linenumber" name="L330" href="#L330">330</a> OptionGroup outputType = <strong class="jxr_keyword">new</strong> OptionGroup();
+<a class="jxr_linenumber" name="L331" href="#L331">331</a>
+<a class="jxr_linenumber" name="L332" href="#L332">332</a> Option xml = <strong class="jxr_keyword">new</strong> Option(XML, <span class="jxr_string">"xml"</span>, false, <span class="jxr_string">"Output the report in raw XML format. Not compatible with -s"</span>);
+<a class="jxr_linenumber" name="L333" href="#L333">333</a> outputType.addOption(xml);
+<a class="jxr_linenumber" name="L334" href="#L334">334</a>
+<a class="jxr_linenumber" name="L335" href="#L335">335</a> Option xslt = <strong class="jxr_keyword">new</strong> Option(STYLESHEET_CLI, <span class="jxr_string">"stylesheet"</span>, <strong class="jxr_keyword">true</strong>,
+<a class="jxr_linenumber" name="L336" href="#L336">336</a> <span class="jxr_string">"XSLT stylesheet to use when creating the"</span> + <span class="jxr_string">" report. Not compatible with -x"</span>);
+<a class="jxr_linenumber" name="L337" href="#L337">337</a> outputType.addOption(xslt);
+<a class="jxr_linenumber" name="L338" href="#L338">338</a> opts.addOptionGroup(outputType);
+<a class="jxr_linenumber" name="L339" href="#L339">339</a>
+<a class="jxr_linenumber" name="L340" href="#L340">340</a> <strong class="jxr_keyword">return</strong> opts;
+<a class="jxr_linenumber" name="L341" href="#L341">341</a> }
+<a class="jxr_linenumber" name="L342" href="#L342">342</a>
+<a class="jxr_linenumber" name="L343" href="#L343">343</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> printUsage(Options opts) {
+<a class="jxr_linenumber" name="L344" href="#L344">344</a> HelpFormatter f = <strong class="jxr_keyword">new</strong> HelpFormatter();
+<a class="jxr_linenumber" name="L345" href="#L345">345</a> f.setOptionComparator(<strong class="jxr_keyword">new</strong> OptionComparator());
+<a class="jxr_linenumber" name="L346" href="#L346">346</a> String header = <span class="jxr_string">"\nAvailable options"</span>;
+<a class="jxr_linenumber" name="L347" href="#L347">347</a>
+<a class="jxr_linenumber" name="L348" href="#L348">348</a> String footer = <span class="jxr_string">"\nNOTE:\n"</span> + <span class="jxr_string">"Rat is really little more than a grep ATM\n"</span>
+<a class="jxr_linenumber" name="L349" href="#L349">349</a> + <span class="jxr_string">"Rat is also rather memory hungry ATM\n"</span> + <span class="jxr_string">"Rat is very basic ATM\n"</span>
+<a class="jxr_linenumber" name="L350" href="#L350">350</a> + <span class="jxr_string">"Rat highlights possible issues\n"</span> + <span class="jxr_string">"Rat reports require interpretation\n"</span>
+<a class="jxr_linenumber" name="L351" href="#L351">351</a> + <span class="jxr_string">"Rat often requires some tuning before it runs well against a project\n"</span>
+<a class="jxr_linenumber" name="L352" href="#L352">352</a> + <span class="jxr_string">"Rat relies on heuristics: it may miss issues\n"</span>;
+<a class="jxr_linenumber" name="L353" href="#L353">353</a>
+<a class="jxr_linenumber" name="L354" href="#L354">354</a> f.printHelp(<span class="jxr_string">"java -jar apache-rat/target/apache-rat-CURRENT-VERSION.jar [options] [DIR|TARBALL]"</span>, header, opts,
+<a class="jxr_linenumber" name="L355" href="#L355">355</a> footer, false);
+<a class="jxr_linenumber" name="L356" href="#L356">356</a> System.exit(0);
+<a class="jxr_linenumber" name="L357" href="#L357">357</a> }
+<a class="jxr_linenumber" name="L358" href="#L358">358</a>
+<a class="jxr_linenumber" name="L359" href="#L359">359</a> <strong class="jxr_keyword">private</strong> <a name="Report" href="../../../org/apache/rat/Report.html#Report">Report</a>() {
+<a class="jxr_linenumber" name="L360" href="#L360">360</a> <em class="jxr_comment">// do not instantiate</em>
+<a class="jxr_linenumber" name="L361" href="#L361">361</a> }
+<a class="jxr_linenumber" name="L362" href="#L362">362</a>
+<a class="jxr_linenumber" name="L363" href="#L363">363</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L364" href="#L364">364</a> <em class="jxr_javadoccomment"> * Creates an IReportable object from the directory name and ReportConfiguration</em>
+<a class="jxr_linenumber" name="L365" href="#L365">365</a> <em class="jxr_javadoccomment"> * object.</em>
+<a class="jxr_linenumber" name="L366" href="#L366">366</a> <em class="jxr_javadoccomment"> * </em>
+<a class="jxr_linenumber" name="L367" href="#L367">367</a> <em class="jxr_javadoccomment"> * @param baseDirectory the directory that contains the files to report on.</em>
+<a class="jxr_linenumber" name="L368" href="#L368">368</a> <em class="jxr_javadoccomment"> * @param config the ReportConfiguration.</em>
+<a class="jxr_linenumber" name="L369" href="#L369">369</a> <em class="jxr_javadoccomment"> * @return the IReportable instance containing the files.</em>
+<a class="jxr_linenumber" name="L370" href="#L370">370</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L371" href="#L371">371</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a name="IReportable" href="../../../org/apache/rat/report/IReportable.html#IReportable">IReportable</a> getDirectory(String baseDirectory, <a name="ReportConfiguration" href="../../../org/apache/rat/ReportConfiguration.html#ReportConfiguration">ReportConfiguration</a> config) {
+<a class="jxr_linenumber" name="L372" href="#L372">372</a> <strong class="jxr_keyword">try</strong> (PrintStream out = <strong class="jxr_keyword">new</strong> PrintStream(config.getOutput().get())) {
+<a class="jxr_linenumber" name="L373" href="#L373">373</a> File base = <strong class="jxr_keyword">new</strong> File(baseDirectory);
+<a class="jxr_linenumber" name="L374" href="#L374">374</a>
+<a class="jxr_linenumber" name="L375" href="#L375">375</a> <strong class="jxr_keyword">if</strong> (!base.exists()) {
+<a class="jxr_linenumber" name="L376" href="#L376">376</a> config.getLog().log(Level.ERROR, <span class="jxr_string">"Directory '"</span>+baseDirectory+<span class="jxr_string">"' does not exist"</span>);
+<a class="jxr_linenumber" name="L377" href="#L377">377</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L378" href="#L378">378</a> }
+<a class="jxr_linenumber" name="L379" href="#L379">379</a>
+<a class="jxr_linenumber" name="L380" href="#L380">380</a> <strong class="jxr_keyword">if</strong> (base.isDirectory()) {
+<a class="jxr_linenumber" name="L381" href="#L381">381</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a name="DirectoryWalker" href="../../../org/apache/rat/walker/DirectoryWalker.html#DirectoryWalker">DirectoryWalker</a>(base, config.getInputFileFilter(), config.getDirectoryFilter());
+<a class="jxr_linenumber" name="L382" href="#L382">382</a> }
+<a class="jxr_linenumber" name="L383" href="#L383">383</a>
+<a class="jxr_linenumber" name="L384" href="#L384">384</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L385" href="#L385">385</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a name="ArchiveWalker" href="../../../org/apache/rat/walker/ArchiveWalker.html#ArchiveWalker">ArchiveWalker</a>(base, config.getInputFileFilter());
+<a class="jxr_linenumber" name="L386" href="#L386">386</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
+<a class="jxr_linenumber" name="L387" href="#L387">387</a> config.getLog().log(Level.ERROR, <span class="jxr_string">"file '"</span>+baseDirectory+<span class="jxr_string">"' is not valid gzip data."</span>);
+<a class="jxr_linenumber" name="L388" href="#L388">388</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L389" href="#L389">389</a> }
+<a class="jxr_linenumber" name="L390" href="#L390">390</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
+<a class="jxr_linenumber" name="L391" href="#L391">391</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="ConfigurationException" href="../../../org/apache/rat/ConfigurationException.html#ConfigurationException">ConfigurationException</a>(<span class="jxr_string">"Error opening output"</span>, e);
+<a class="jxr_linenumber" name="L392" href="#L392">392</a> }
+<a class="jxr_linenumber" name="L393" href="#L393">393</a> }
+<a class="jxr_linenumber" name="L394" href="#L394">394</a>
+<a class="jxr_linenumber" name="L395" href="#L395">395</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L396" href="#L396">396</a> <em class="jxr_javadoccomment"> * This class implements the {@code Comparator} interface for comparing Options.</em>
+<a class="jxr_linenumber" name="L397" href="#L397">397</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L398" href="#L398">398</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> OptionComparator <strong class="jxr_keyword">implements</strong> Comparator<Option>, Serializable {
+<a class="jxr_linenumber" name="L399" href="#L399">399</a> <em class="jxr_javadoccomment">/** The serial version UID. */</em>
+<a class="jxr_linenumber" name="L400" href="#L400">400</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 5305467873966684014L;
+<a class="jxr_linenumber" name="L401" href="#L401">401</a>
+<a class="jxr_linenumber" name="L402" href="#L402">402</a> <strong class="jxr_keyword">private</strong> String getKey(Option opt) {
+<a class="jxr_linenumber" name="L403" href="#L403">403</a> String key = opt.getOpt();
+<a class="jxr_linenumber" name="L404" href="#L404">404</a> key = key == <strong class="jxr_keyword">null</strong> ? opt.getLongOpt() : key;
+<a class="jxr_linenumber" name="L405" href="#L405">405</a> <strong class="jxr_keyword">return</strong> key;
+<a class="jxr_linenumber" name="L406" href="#L406">406</a> }
+<a class="jxr_linenumber" name="L407" href="#L407">407</a>
+<a class="jxr_linenumber" name="L408" href="#L408">408</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L409" href="#L409">409</a> <em class="jxr_javadoccomment"> * Compares its two arguments for order. Returns a negative integer, zero, or a</em>
+<a class="jxr_linenumber" name="L410" href="#L410">410</a> <em class="jxr_javadoccomment"> * positive integer as the first argument is less than, equal to, or greater</em>
+<a class="jxr_linenumber" name="L411" href="#L411">411</a> <em class="jxr_javadoccomment"> * than the second.</em>
+<a class="jxr_linenumber" name="L412" href="#L412">412</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L413" href="#L413">413</a> <em class="jxr_javadoccomment"> * @param opt1 The first Option to be compared.</em>
+<a class="jxr_linenumber" name="L414" href="#L414">414</a> <em class="jxr_javadoccomment"> * @param opt2 The second Option to be compared.</em>
+<a class="jxr_linenumber" name="L415" href="#L415">415</a> <em class="jxr_javadoccomment"> * @return a negative integer, zero, or a positive integer as the first argument</em>
+<a class="jxr_linenumber" name="L416" href="#L416">416</a> <em class="jxr_javadoccomment"> * is less than, equal to, or greater than the second.</em>
+<a class="jxr_linenumber" name="L417" href="#L417">417</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L418" href="#L418">418</a> @Override
+<a class="jxr_linenumber" name="L419" href="#L419">419</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compare(<strong class="jxr_keyword">final</strong> Option opt1, <strong class="jxr_keyword">final</strong> Option opt2) {
+<a class="jxr_linenumber" name="L420" href="#L420">420</a> <strong class="jxr_keyword">return</strong> getKey(opt1).compareToIgnoreCase(getKey(opt2));
+<a class="jxr_linenumber" name="L421" href="#L421">421</a> }
+<a class="jxr_linenumber" name="L422" href="#L422">422</a> }
+<a class="jxr_linenumber" name="L423" href="#L423">423</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/ReportConfiguration.html b/rat0161/apache-rat-core/xref/org/apache/rat/ReportConfiguration.html
index a36f2b20..23a1560b 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/ReportConfiguration.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/ReportConfiguration.html
@@ -271,7 +271,7 @@
<a class="jxr_linenumber" name="L263" href="#L263">263</a> <em class="jxr_javadoccomment"> * closed consider wrapping it in a {@code NoCloseOutputStream}</em>
<a class="jxr_linenumber" name="L264" href="#L264">264</a> <em class="jxr_javadoccomment"> * </em>
<a class="jxr_linenumber" name="L265" href="#L265">265</a> <em class="jxr_javadoccomment"> * @param out The OutputStream supplier that provides the output stream to write</em>
-<a class="jxr_linenumber" name="L266" href="#L266">266</a> <em class="jxr_javadoccomment"> * the report to. (may be null)</em>
+<a class="jxr_linenumber" name="L266" href="#L266">266</a> <em class="jxr_javadoccomment"> * the report to. A null value will use System.out.</em>
<a class="jxr_linenumber" name="L267" href="#L267">267</a> <em class="jxr_javadoccomment"> * @see NoCloseOutputStream</em>
<a class="jxr_linenumber" name="L268" href="#L268">268</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L269" href="#L269">269</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setOut(IOSupplier<OutputStream> out) {
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/DefaultAnalyserFactory.html b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/DefaultAnalyserFactory.html
index b70dad5b..9fc659b3 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/DefaultAnalyserFactory.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/DefaultAnalyserFactory.html
@@ -37,60 +37,67 @@
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">import</strong> org.apache.rat.document.impl.guesser.BinaryGuesser;
<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">import</strong> org.apache.rat.document.impl.guesser.NoteGuesser;
<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">import</strong> org.apache.rat.license.ILicense;
-<a class="jxr_linenumber" name="L32" href="#L32">32</a>
-<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment"> * Creates default analysers.</em>
-<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="DefaultAnalyserFactory" href="../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#DefaultAnalyserFactory">DefaultAnalyserFactory</a> {
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> * Creates a DocumentAnalyser from a collection of ILicenses.</em>
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * @param licenses The licenses to use in the Analyser.</em>
-<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> * @return A document analyser that uses the provides licenses.</em>
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a name="IDocumentAnalyser" href="../../../../org/apache/rat/document/IDocumentAnalyser.html#IDocumentAnalyser">IDocumentAnalyser</a> createDefaultAnalyser(Collection<ILicense> licenses) {
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">if</strong> (licenses.isEmpty()) {
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="ConfigurationException" href="../../../../org/apache/rat/ConfigurationException.html#ConfigurationException">ConfigurationException</a>(<span class="jxr_string">"At least one license must be defined"</span>);
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> }
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> DefaultAnalyser(<strong class="jxr_keyword">new</strong> <a name="LicenseCollection" href="../../../../org/apache/rat/analysis/LicenseCollection.html#LicenseCollection">LicenseCollection</a>(licenses));
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> }
-<a class="jxr_linenumber" name="L49" href="#L49">49</a>
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment"> * A DocumentAnalyser for the license</em>
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> DefaultAnalyser <strong class="jxr_keyword">implements</strong> <a name="IDocumentAnalyser" href="../../../../org/apache/rat/document/IDocumentAnalyser.html#IDocumentAnalyser">IDocumentAnalyser</a> {
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment"> * The license to analyze</em>
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license;
-<a class="jxr_linenumber" name="L59" href="#L59">59</a>
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> * Constructs a DocumentAnalyser for the specified license.</em>
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> * @param license The license to analyse</em>
-<a class="jxr_linenumber" name="L63" href="#L63">63</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">public</strong> DefaultAnalyser(<strong class="jxr_keyword">final</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license) {
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">this</strong>.license = license;
-<a class="jxr_linenumber" name="L66" href="#L66">66</a> }
-<a class="jxr_linenumber" name="L67" href="#L67">67</a>
-<a class="jxr_linenumber" name="L68" href="#L68">68</a> @Override
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> analyse(<a name="Document" href="../../../../org/apache/rat/api/Document.html#Document">Document</a> document) <strong class="jxr_keyword">throws</strong> <a name="RatDocumentAnalysisException" href="../../../../org/apache/rat/document/RatDocumentAnalysisException.html#RatDocumentAnalysisException">RatDocumentAnalysisException</a> {
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">final</strong> MetaData.Datum documentCategory;
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">if</strong> (NoteGuesser.isNote(document)) {
-<a class="jxr_linenumber" name="L72" href="#L72">72</a> documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_NOTICE;
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (ArchiveGuesser.isArchive(document)) {
-<a class="jxr_linenumber" name="L74" href="#L74">74</a> documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_ARCHIVE;
-<a class="jxr_linenumber" name="L75" href="#L75">75</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (BinaryGuesser.isBinary(document)) {
-<a class="jxr_linenumber" name="L76" href="#L76">76</a> documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_BINARY;
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L78" href="#L78">78</a> documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_STANDARD;
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> <strong class="jxr_keyword">final</strong> <a name="DocumentHeaderAnalyser" href="../../../../org/apache/rat/analysis/DocumentHeaderAnalyser.html#DocumentHeaderAnalyser">DocumentHeaderAnalyser</a> headerAnalyser = <strong class="jxr_keyword">new</strong> <a name="DocumentHeaderAnalyser" href="../../../../org/apache/rat/analysis/DocumentHeaderAnalyser.html#DocumentHeaderAnalyser">DocumentHeaderAnalyser</a>(license);
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> headerAnalyser.analyse(document);
-<a class="jxr_linenumber" name="L81" href="#L81">81</a> }
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> document.getMetaData().set(documentCategory);
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> }
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> }
-<a class="jxr_linenumber" name="L85" href="#L85">85</a> }
+<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.Log;
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.Log.Level;
+<a class="jxr_linenumber" name="L34" href="#L34">34</a>
+<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment"> * Creates default analysers.</em>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="DefaultAnalyserFactory" href="../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#DefaultAnalyserFactory">DefaultAnalyserFactory</a> {
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> * Creates a DocumentAnalyser from a collection of ILicenses.</em>
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> * @param licenses The licenses to use in the Analyser.</em>
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * @return A document analyser that uses the provides licenses.</em>
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a name="IDocumentAnalyser" href="../../../../org/apache/rat/document/IDocumentAnalyser.html#IDocumentAnalyser">IDocumentAnalyser</a> createDefaultAnalyser(<a name="Log" href="../../../../org/apache/rat/utils/Log.html#Log">Log</a> log, Collection<ILicense> licenses) {
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">if</strong> (licenses.isEmpty()) {
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="ConfigurationException" href="../../../../org/apache/rat/ConfigurationException.html#ConfigurationException">ConfigurationException</a>(<span class="jxr_string">"At least one license must be defined"</span>);
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> }
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> log.debug(<span class="jxr_string">"Licenses in Test"</span>);
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> licenses.forEach(log::debug);
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> DefaultAnalyser(log, <strong class="jxr_keyword">new</strong> <a name="LicenseCollection" href="../../../../org/apache/rat/analysis/LicenseCollection.html#LicenseCollection">LicenseCollection</a>(licenses));
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> }
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment"> * A DocumentAnalyser for the license</em>
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> DefaultAnalyser <strong class="jxr_keyword">implements</strong> <a name="IDocumentAnalyser" href="../../../../org/apache/rat/document/IDocumentAnalyser.html#IDocumentAnalyser">IDocumentAnalyser</a> {
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> * The license to analyze</em>
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license;
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> <em class="jxr_javadoccomment">/** The log to use */</em>
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="Log" href="../../../../org/apache/rat/utils/Log.html#Log">Log</a> log;
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L67" href="#L67">67</a> <em class="jxr_javadoccomment"> * Constructs a DocumentAnalyser for the specified license.</em>
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> <em class="jxr_javadoccomment"> * @param license The license to analyse</em>
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">public</strong> DefaultAnalyser(<strong class="jxr_keyword">final</strong> <a name="Log" href="../../../../org/apache/rat/utils/Log.html#Log">Log</a> log, <strong class="jxr_keyword">final</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license) {
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">this</strong>.license = license;
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">this</strong>.log = log;
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> }
+<a class="jxr_linenumber" name="L74" href="#L74">74</a>
+<a class="jxr_linenumber" name="L75" href="#L75">75</a> @Override
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> analyse(<a name="Document" href="../../../../org/apache/rat/api/Document.html#Document">Document</a> document) <strong class="jxr_keyword">throws</strong> <a name="RatDocumentAnalysisException" href="../../../../org/apache/rat/document/RatDocumentAnalysisException.html#RatDocumentAnalysisException">RatDocumentAnalysisException</a> {
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">final</strong> MetaData.Datum documentCategory;
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> <strong class="jxr_keyword">if</strong> (NoteGuesser.isNote(document)) {
+<a class="jxr_linenumber" name="L79" href="#L79">79</a> documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_NOTICE;
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (ArchiveGuesser.isArchive(document)) {
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_ARCHIVE;
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (BinaryGuesser.isBinary(document)) {
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_BINARY;
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_STANDARD;
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> <strong class="jxr_keyword">final</strong> <a name="DocumentHeaderAnalyser" href="../../../../org/apache/rat/analysis/DocumentHeaderAnalyser.html#DocumentHeaderAnalyser">DocumentHeaderAnalyser</a> headerAnalyser = <strong class="jxr_keyword">new</strong> <a name="DocumentHeaderAnalyser" href="../../../../org/apache/rat/analysis/DocumentHeaderAnalyser.html#DocumentHeaderAnalyser">DocumentHeaderAnalyser</a>(log, license);
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> headerAnalyser.analyse(document);
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> }
+<a class="jxr_linenumber" name="L89" href="#L89">89</a> document.getMetaData().set(documentCategory);
+<a class="jxr_linenumber" name="L90" href="#L90">90</a> }
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> }
+<a class="jxr_linenumber" name="L92" href="#L92">92</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/DocumentHeaderAnalyser.html b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/DocumentHeaderAnalyser.html
index 91b99a3e..23474099 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/DocumentHeaderAnalyser.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/DocumentHeaderAnalyser.html
@@ -33,41 +33,47 @@
<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> org.apache.rat.document.IDocumentAnalyser;
<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> org.apache.rat.document.RatDocumentAnalysisException;
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> org.apache.rat.license.ILicense;
-<a class="jxr_linenumber" name="L28" href="#L28">28</a>
-<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * A Document analyzer that analyses document headers for a license.</em>
-<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">class</strong> <a name="DocumentHeaderAnalyser" href="../../../../org/apache/rat/analysis/DocumentHeaderAnalyser.html#DocumentHeaderAnalyser">DocumentHeaderAnalyser</a> <strong class="jxr_keyword">implements</strong> <a name="IDocumentAnalyser" href="../../../../org/apache/rat/document/IDocumentAnalyser.html#IDocumentAnalyser">IDocumentAnalyser</a> {
-<a class="jxr_linenumber" name="L33" href="#L33">33</a>
-<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment"> * The license to analyse</em>
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license;
-<a class="jxr_linenumber" name="L38" href="#L38">38</a>
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * Constructs the HeaderAnalyser for the specific license.</em>
-<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> * </em>
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> * @param license The license to analyse</em>
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">public</strong> <a name="DocumentHeaderAnalyser" href="../../../../org/apache/rat/analysis/DocumentHeaderAnalyser.html#DocumentHeaderAnalyser">DocumentHeaderAnalyser</a>(<strong class="jxr_keyword">final</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license) {
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">super</strong>();
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">this</strong>.license = license;
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> }
-<a class="jxr_linenumber" name="L48" href="#L48">48</a>
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> @Override
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> analyse(<a name="Document" href="../../../../org/apache/rat/api/Document.html#Document">Document</a> document) <strong class="jxr_keyword">throws</strong> <a name="RatDocumentAnalysisException" href="../../../../org/apache/rat/document/RatDocumentAnalysisException.html#RatDocumentAnalysisException">RatDocumentAnalysisException</a> {
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">try</strong> (Reader reader = document.reader()) {
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_comment">// TODO: worker function should be moved into this class</em>
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> <a name="HeaderCheckWorker" href="../../../../org/apache/rat/analysis/HeaderCheckWorker.html#HeaderCheckWorker">HeaderCheckWorker</a> worker = <strong class="jxr_keyword">new</strong> <a name="HeaderCheckWorker" href="../../../../org/apache/rat/analysis/HeaderCheckWorker.html#HeaderCheckWorker">HeaderCheckWorker</a>(reader, license, document);
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> worker.read();
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatDocumentAnalysisException" href="../../../../org/apache/rat/document/RatDocumentAnalysisException.html#RatDocumentAnalysisException">RatDocumentAnalysisException</a>(<span class="jxr_string">"Cannot read header"</span>, e);
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> } <strong class="jxr_keyword">catch</strong> (<a name="RatHeaderAnalysisException" href="../../../../org/apache/rat/analysis/RatHeaderAnalysisException.html#RatHeaderAnalysisException">RatHeaderAnalysisException</a> e) {
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatDocumentAnalysisException" href="../../../../org/apache/rat/document/RatDocumentAnalysisException.html#RatDocumentAnalysisException">RatDocumentAnalysisException</a>(<span class="jxr_string">"Cannot analyse header"</span>, e);
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> }
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> }
-<a class="jxr_linenumber" name="L61" href="#L61">61</a>
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> }
+<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.Log;
+<a class="jxr_linenumber" name="L29" href="#L29">29</a>
+<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> java.lang.String.format;
+<a class="jxr_linenumber" name="L31" href="#L31">31</a>
+<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> * A Document analyzer that analyses document headers for a license.</em>
+<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">class</strong> <a name="DocumentHeaderAnalyser" href="../../../../org/apache/rat/analysis/DocumentHeaderAnalyser.html#DocumentHeaderAnalyser">DocumentHeaderAnalyser</a> <strong class="jxr_keyword">implements</strong> <a name="IDocumentAnalyser" href="../../../../org/apache/rat/document/IDocumentAnalyser.html#IDocumentAnalyser">IDocumentAnalyser</a> {
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> * The license to analyse</em>
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license;
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment">/** the logger to use */</em>
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="Log" href="../../../../org/apache/rat/utils/Log.html#Log">Log</a> log;
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> * Constructs the HeaderAnalyser for the specific license.</em>
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment"> * </em>
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment"> * @param license The license to analyse</em>
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">public</strong> <a name="DocumentHeaderAnalyser" href="../../../../org/apache/rat/analysis/DocumentHeaderAnalyser.html#DocumentHeaderAnalyser">DocumentHeaderAnalyser</a>(<strong class="jxr_keyword">final</strong> <a name="Log" href="../../../../org/apache/rat/utils/Log.html#Log">Log</a> log, <strong class="jxr_keyword">final</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicens [...]
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">super</strong>();
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">this</strong>.license = license;
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">this</strong>.log = log;
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> }
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> @Override
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> analyse(<a name="Document" href="../../../../org/apache/rat/api/Document.html#Document">Document</a> document) <strong class="jxr_keyword">throws</strong> <a name="RatDocumentAnalysisException" href="../../../../org/apache/rat/document/RatDocumentAnalysisException.html#RatDocumentAnalysisException">RatDocumentAnalysisException</a> {
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">try</strong> (Reader reader = document.reader()) {
+<a class="jxr_linenumber" name="L58" href="#L58">58</a> log.debug(format(<span class="jxr_string">"Processing: %s"</span>, document));
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> <a name="HeaderCheckWorker" href="../../../../org/apache/rat/analysis/HeaderCheckWorker.html#HeaderCheckWorker">HeaderCheckWorker</a> worker = <strong class="jxr_keyword">new</strong> <a name="HeaderCheckWorker" href="../../../../org/apache/rat/analysis/HeaderCheckWorker.html#HeaderCheckWorker">HeaderCheckWorker</a>(reader, license, document);
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> worker.read();
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatDocumentAnalysisException" href="../../../../org/apache/rat/document/RatDocumentAnalysisException.html#RatDocumentAnalysisException">RatDocumentAnalysisException</a>(<span class="jxr_string">"Cannot read header"</span>, e);
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> } <strong class="jxr_keyword">catch</strong> (<a name="RatHeaderAnalysisException" href="../../../../org/apache/rat/analysis/RatHeaderAnalysisException.html#RatHeaderAnalysisException">RatHeaderAnalysisException</a> e) {
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatDocumentAnalysisException" href="../../../../org/apache/rat/document/RatDocumentAnalysisException.html#RatDocumentAnalysisException">RatDocumentAnalysisException</a>(<span class="jxr_string">"Cannot analyse header"</span>, e);
+<a class="jxr_linenumber" name="L65" href="#L65">65</a> }
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> }
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/LicenseCollection.html b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/LicenseCollection.html
index 5aeeac3e..67871eb0 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/LicenseCollection.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/LicenseCollection.html
@@ -27,118 +27,119 @@
<a class="jxr_linenumber" name="L19" href="#L19">19</a> <strong class="jxr_keyword">package</strong> org.apache.rat.analysis;
<a class="jxr_linenumber" name="L20" href="#L20">20</a>
<a class="jxr_linenumber" name="L21" href="#L21">21</a> <strong class="jxr_keyword">import</strong> java.util.Collection;
-<a class="jxr_linenumber" name="L22" href="#L22">22</a>
-<a class="jxr_linenumber" name="L23" href="#L23">23</a> <strong class="jxr_keyword">import</strong> org.apache.rat.analysis.matchers.AbstractMatcherContainer;
-<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> org.apache.rat.license.ILicense;
-<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> org.apache.rat.license.ILicenseFamily;
-<a class="jxr_linenumber" name="L26" href="#L26">26</a>
-<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment"> * A collection of ILicenses that acts as a single License for purposes of Analysis.</em>
-<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment"> * <p></em>
-<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * This class process each license in turn on each {@code matches(String)} call. When a match is found the </em>
-<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> * ILicenseFamily for the matching license is captured and used as the family for this license. If no matching </em>
-<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> * license has been found the default {@code dummy} license category is used.</em>
-<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">class</strong> <a name="LicenseCollection" href="../../../../org/apache/rat/analysis/LicenseCollection.html#LicenseCollection">LicenseCollection</a> <strong class="jxr_keyword">extends</strong> <a name="AbstractMatcherContainer" href="../../../../org/apache/rat/analysis/matchers/AbstractMatcherContainer.html#AbstractMatcherContainer">AbstractMatcherContainer</a> <strong class="jxr_keyword">implements</st [...]
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a name="ILicenseFamily" href="../../../../org/apache/rat/license/ILicenseFamily.html#ILicenseFamily">ILicenseFamily</a> DEFAULT = ILicenseFamily.builder().setLicenseFamilyCategory(<span class="jxr_string">"Dummy"</span>)
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> .setLicenseFamilyName(<span class="jxr_string">"HeaderMatcherCollection default license family"</span>).build();
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Collection<ILicense> enclosed;
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">private</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> matchingLicense;
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">private</strong> State lastState;
-<a class="jxr_linenumber" name="L41" href="#L41">41</a>
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * Constructs the LicenseCollection from the provided ILicense collection.</em>
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> * @param enclosed The collection of ILicenses to compose this License implementation from. May not be null.</em>
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">public</strong> <a name="LicenseCollection" href="../../../../org/apache/rat/analysis/LicenseCollection.html#LicenseCollection">LicenseCollection</a>(Collection<ILicense> enclosed) {
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">super</strong>(enclosed);
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">this</strong>.enclosed = enclosed;
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">this</strong>.matchingLicense = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">this</strong>.lastState = State.i;
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> }
-<a class="jxr_linenumber" name="L52" href="#L52">52</a>
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> @Override
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">public</strong> String getId() {
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Default License Collection"</span>;
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> }
-<a class="jxr_linenumber" name="L57" href="#L57">57</a>
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> @Override
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> reset() {
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> enclosed.forEach(ILicense::reset);
-<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">this</strong>.lastState = State.i;
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">this</strong>.matchingLicense = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L63" href="#L63">63</a> }
-<a class="jxr_linenumber" name="L64" href="#L64">64</a>
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> @Override
-<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">public</strong> State matches(String line) {
-<a class="jxr_linenumber" name="L67" href="#L67">67</a> State dflt = State.f;
-<a class="jxr_linenumber" name="L68" href="#L68">68</a> <strong class="jxr_keyword">for</strong> (<a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license : enclosed) {
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> <strong class="jxr_keyword">switch</strong> (license.matches(line)) {
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">case</strong> t:
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">this</strong>.matchingLicense = license;
-<a class="jxr_linenumber" name="L72" href="#L72">72</a> lastState = State.t;
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">return</strong> State.t;
-<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">case</strong> i:
-<a class="jxr_linenumber" name="L75" href="#L75">75</a> dflt = State.i;
-<a class="jxr_linenumber" name="L76" href="#L76">76</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">default</strong>:
-<a class="jxr_linenumber" name="L78" href="#L78">78</a> <em class="jxr_comment">// do nothing</em>
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> }
-<a class="jxr_linenumber" name="L81" href="#L81">81</a> }
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> lastState = dflt;
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> <strong class="jxr_keyword">return</strong> dflt;
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> }
-<a class="jxr_linenumber" name="L85" href="#L85">85</a>
-<a class="jxr_linenumber" name="L86" href="#L86">86</a> @Override
-<a class="jxr_linenumber" name="L87" href="#L87">87</a> <strong class="jxr_keyword">public</strong> State currentState() {
-<a class="jxr_linenumber" name="L88" href="#L88">88</a> <strong class="jxr_keyword">if</strong> (lastState == State.t) {
-<a class="jxr_linenumber" name="L89" href="#L89">89</a> <strong class="jxr_keyword">return</strong> lastState;
-<a class="jxr_linenumber" name="L90" href="#L90">90</a> }
-<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">for</strong> (<a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license : enclosed) {
-<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">switch</strong> (license.currentState()) {
-<a class="jxr_linenumber" name="L93" href="#L93">93</a> <strong class="jxr_keyword">case</strong> t:
-<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">this</strong>.matchingLicense = license;
-<a class="jxr_linenumber" name="L95" href="#L95">95</a> lastState = State.t;
-<a class="jxr_linenumber" name="L96" href="#L96">96</a> <strong class="jxr_keyword">return</strong> lastState;
-<a class="jxr_linenumber" name="L97" href="#L97">97</a> <strong class="jxr_keyword">case</strong> i:
-<a class="jxr_linenumber" name="L98" href="#L98">98</a> lastState = State.i;
-<a class="jxr_linenumber" name="L99" href="#L99">99</a> <strong class="jxr_keyword">return</strong> lastState;
-<a class="jxr_linenumber" name="L100" href="#L100">100</a> <strong class="jxr_keyword">case</strong> f:
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> <em class="jxr_comment">// do nothing;</em>
-<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L103" href="#L103">103</a> }
-<a class="jxr_linenumber" name="L104" href="#L104">104</a> }
-<a class="jxr_linenumber" name="L105" href="#L105">105</a> lastState = State.f;
-<a class="jxr_linenumber" name="L106" href="#L106">106</a> <strong class="jxr_keyword">return</strong> lastState;
-<a class="jxr_linenumber" name="L107" href="#L107">107</a> }
-<a class="jxr_linenumber" name="L108" href="#L108">108</a>
-<a class="jxr_linenumber" name="L109" href="#L109">109</a> @Override
-<a class="jxr_linenumber" name="L110" href="#L110">110</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compareTo(<a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> arg0) {
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> <strong class="jxr_keyword">return</strong> getLicenseFamily().compareTo(arg0.getLicenseFamily());
-<a class="jxr_linenumber" name="L112" href="#L112">112</a> }
-<a class="jxr_linenumber" name="L113" href="#L113">113</a>
-<a class="jxr_linenumber" name="L114" href="#L114">114</a> @Override
-<a class="jxr_linenumber" name="L115" href="#L115">115</a> <strong class="jxr_keyword">public</strong> <a name="ILicenseFamily" href="../../../../org/apache/rat/license/ILicenseFamily.html#ILicenseFamily">ILicenseFamily</a> getLicenseFamily() {
-<a class="jxr_linenumber" name="L116" href="#L116">116</a> <strong class="jxr_keyword">return</strong> matchingLicense == <strong class="jxr_keyword">null</strong> ? DEFAULT : matchingLicense.getLicenseFamily();
-<a class="jxr_linenumber" name="L117" href="#L117">117</a> }
-<a class="jxr_linenumber" name="L118" href="#L118">118</a>
-<a class="jxr_linenumber" name="L119" href="#L119">119</a> @Override
-<a class="jxr_linenumber" name="L120" href="#L120">120</a> <strong class="jxr_keyword">public</strong> String getNotes() {
-<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">return</strong> matchingLicense == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">null</strong> : matchingLicense.getNotes();
-<a class="jxr_linenumber" name="L122" href="#L122">122</a> }
-<a class="jxr_linenumber" name="L123" href="#L123">123</a>
-<a class="jxr_linenumber" name="L124" href="#L124">124</a> @Override
-<a class="jxr_linenumber" name="L125" href="#L125">125</a> <strong class="jxr_keyword">public</strong> String derivedFrom() {
-<a class="jxr_linenumber" name="L126" href="#L126">126</a> <strong class="jxr_keyword">return</strong> matchingLicense == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">null</strong> : matchingLicense.derivedFrom();
-<a class="jxr_linenumber" name="L127" href="#L127">127</a> }
-<a class="jxr_linenumber" name="L128" href="#L128">128</a>
-<a class="jxr_linenumber" name="L129" href="#L129">129</a> @Override
-<a class="jxr_linenumber" name="L130" href="#L130">130</a> <strong class="jxr_keyword">public</strong> String getName() {
-<a class="jxr_linenumber" name="L131" href="#L131">131</a> <strong class="jxr_keyword">return</strong> getLicenseFamily().getFamilyName();
-<a class="jxr_linenumber" name="L132" href="#L132">132</a> }
-<a class="jxr_linenumber" name="L133" href="#L133">133</a> }
+<a class="jxr_linenumber" name="L22" href="#L22">22</a> <strong class="jxr_keyword">import</strong> java.util.Collections;
+<a class="jxr_linenumber" name="L23" href="#L23">23</a>
+<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> org.apache.rat.analysis.matchers.AbstractMatcherContainer;
+<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> org.apache.rat.license.ILicense;
+<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> org.apache.rat.license.ILicenseFamily;
+<a class="jxr_linenumber" name="L27" href="#L27">27</a>
+<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment"> * A collection of ILicenses that acts as a single License for purposes of Analysis.</em>
+<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * <p></em>
+<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> * This class process each license in turn on each {@code matches(String)} call. When a match is found the </em>
+<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> * ILicenseFamily for the matching license is captured and used as the family for this license. If no matching </em>
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> * license has been found the default {@code dummy} license category is used.</em>
+<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">class</strong> <a name="LicenseCollection" href="../../../../org/apache/rat/analysis/LicenseCollection.html#LicenseCollection">LicenseCollection</a> <strong class="jxr_keyword">extends</strong> <a name="AbstractMatcherContainer" href="../../../../org/apache/rat/analysis/matchers/AbstractMatcherContainer.html#AbstractMatcherContainer">AbstractMatcherContainer</a> <strong class="jxr_keyword">implements</st [...]
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a name="ILicenseFamily" href="../../../../org/apache/rat/license/ILicenseFamily.html#ILicenseFamily">ILicenseFamily</a> DEFAULT = ILicenseFamily.builder().setLicenseFamilyCategory(<span class="jxr_string">"Dummy"</span>)
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> .setLicenseFamilyName(<span class="jxr_string">"HeaderMatcherCollection default license family"</span>).build();
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Collection<ILicense> enclosed;
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">private</strong> <a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> matchingLicense;
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">private</strong> State lastState;
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> * Constructs the LicenseCollection from the provided ILicense collection.</em>
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> * @param enclosed The collection of ILicenses to compose this License implementation from. May not be null.</em>
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">public</strong> <a name="LicenseCollection" href="../../../../org/apache/rat/analysis/LicenseCollection.html#LicenseCollection">LicenseCollection</a>(Collection<ILicense> enclosed) {
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">super</strong>(enclosed);
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">this</strong>.enclosed = Collections.unmodifiableCollection(enclosed);
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">this</strong>.matchingLicense = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">this</strong>.lastState = State.i;
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> }
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> @Override
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">public</strong> String getId() {
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Default License Collection"</span>;
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> }
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> @Override
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> reset() {
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> enclosed.forEach(ILicense::reset);
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">this</strong>.lastState = State.i;
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">this</strong>.matchingLicense = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> }
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> @Override
+<a class="jxr_linenumber" name="L67" href="#L67">67</a> <strong class="jxr_keyword">public</strong> State matches(String line) {
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> State dflt = State.f;
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> <strong class="jxr_keyword">for</strong> (<a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license : enclosed) {
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">switch</strong> (license.matches(line)) {
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">case</strong> t:
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">this</strong>.matchingLicense = license;
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> lastState = State.t;
+<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">return</strong> State.t;
+<a class="jxr_linenumber" name="L75" href="#L75">75</a> <strong class="jxr_keyword">case</strong> i:
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> dflt = State.i;
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> <strong class="jxr_keyword">default</strong>:
+<a class="jxr_linenumber" name="L79" href="#L79">79</a> <em class="jxr_comment">// do nothing</em>
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> }
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> }
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> lastState = dflt;
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> <strong class="jxr_keyword">return</strong> dflt;
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> }
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> @Override
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> <strong class="jxr_keyword">public</strong> State currentState() {
+<a class="jxr_linenumber" name="L89" href="#L89">89</a> <strong class="jxr_keyword">if</strong> (lastState == State.t) {
+<a class="jxr_linenumber" name="L90" href="#L90">90</a> <strong class="jxr_keyword">return</strong> lastState;
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> }
+<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">for</strong> (<a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license : enclosed) {
+<a class="jxr_linenumber" name="L93" href="#L93">93</a> <strong class="jxr_keyword">switch</strong> (license.currentState()) {
+<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">case</strong> t:
+<a class="jxr_linenumber" name="L95" href="#L95">95</a> <strong class="jxr_keyword">this</strong>.matchingLicense = license;
+<a class="jxr_linenumber" name="L96" href="#L96">96</a> lastState = State.t;
+<a class="jxr_linenumber" name="L97" href="#L97">97</a> <strong class="jxr_keyword">return</strong> lastState;
+<a class="jxr_linenumber" name="L98" href="#L98">98</a> <strong class="jxr_keyword">case</strong> i:
+<a class="jxr_linenumber" name="L99" href="#L99">99</a> lastState = State.i;
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> <strong class="jxr_keyword">return</strong> lastState;
+<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">case</strong> f:
+<a class="jxr_linenumber" name="L102" href="#L102">102</a> <em class="jxr_comment">// do nothing;</em>
+<a class="jxr_linenumber" name="L103" href="#L103">103</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L104" href="#L104">104</a> }
+<a class="jxr_linenumber" name="L105" href="#L105">105</a> }
+<a class="jxr_linenumber" name="L106" href="#L106">106</a> lastState = State.f;
+<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">return</strong> lastState;
+<a class="jxr_linenumber" name="L108" href="#L108">108</a> }
+<a class="jxr_linenumber" name="L109" href="#L109">109</a>
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> @Override
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compareTo(<a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> arg0) {
+<a class="jxr_linenumber" name="L112" href="#L112">112</a> <strong class="jxr_keyword">return</strong> getLicenseFamily().compareTo(arg0.getLicenseFamily());
+<a class="jxr_linenumber" name="L113" href="#L113">113</a> }
+<a class="jxr_linenumber" name="L114" href="#L114">114</a>
+<a class="jxr_linenumber" name="L115" href="#L115">115</a> @Override
+<a class="jxr_linenumber" name="L116" href="#L116">116</a> <strong class="jxr_keyword">public</strong> <a name="ILicenseFamily" href="../../../../org/apache/rat/license/ILicenseFamily.html#ILicenseFamily">ILicenseFamily</a> getLicenseFamily() {
+<a class="jxr_linenumber" name="L117" href="#L117">117</a> <strong class="jxr_keyword">return</strong> matchingLicense == <strong class="jxr_keyword">null</strong> ? DEFAULT : matchingLicense.getLicenseFamily();
+<a class="jxr_linenumber" name="L118" href="#L118">118</a> }
+<a class="jxr_linenumber" name="L119" href="#L119">119</a>
+<a class="jxr_linenumber" name="L120" href="#L120">120</a> @Override
+<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">public</strong> String getNotes() {
+<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">return</strong> matchingLicense == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">null</strong> : matchingLicense.getNotes();
+<a class="jxr_linenumber" name="L123" href="#L123">123</a> }
+<a class="jxr_linenumber" name="L124" href="#L124">124</a>
+<a class="jxr_linenumber" name="L125" href="#L125">125</a> @Override
+<a class="jxr_linenumber" name="L126" href="#L126">126</a> <strong class="jxr_keyword">public</strong> String derivedFrom() {
+<a class="jxr_linenumber" name="L127" href="#L127">127</a> <strong class="jxr_keyword">return</strong> matchingLicense == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">null</strong> : matchingLicense.derivedFrom();
+<a class="jxr_linenumber" name="L128" href="#L128">128</a> }
+<a class="jxr_linenumber" name="L129" href="#L129">129</a>
+<a class="jxr_linenumber" name="L130" href="#L130">130</a> @Override
+<a class="jxr_linenumber" name="L131" href="#L131">131</a> <strong class="jxr_keyword">public</strong> String getName() {
+<a class="jxr_linenumber" name="L132" href="#L132">132</a> <strong class="jxr_keyword">return</strong> getLicenseFamily().getFamilyName();
+<a class="jxr_linenumber" name="L133" href="#L133">133</a> }
+<a class="jxr_linenumber" name="L134" href="#L134">134</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/matchers/CopyrightMatcher.html b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/matchers/CopyrightMatcher.html
index 979a6697..72bcddd7 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/matchers/CopyrightMatcher.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/matchers/CopyrightMatcher.html
@@ -114,21 +114,24 @@
<a class="jxr_linenumber" name="L106" href="#L106">106</a>
<a class="jxr_linenumber" name="L107" href="#L107">107</a> @Override
<a class="jxr_linenumber" name="L108" href="#L108">108</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> doMatch(String line) {
-<a class="jxr_linenumber" name="L109" href="#L109">109</a> Matcher matcher = COPYRIGHT_PATTERN.matcher(line);
-<a class="jxr_linenumber" name="L110" href="#L110">110</a> <strong class="jxr_keyword">if</strong> (matcher.find()) {
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> String buffer = line.substring(matcher.end());
-<a class="jxr_linenumber" name="L112" href="#L112">112</a> matcher = dateOwnerPattern.matcher(buffer);
-<a class="jxr_linenumber" name="L113" href="#L113">113</a> <strong class="jxr_keyword">if</strong> (matcher.find() && matcher.start() == 0) {
-<a class="jxr_linenumber" name="L114" href="#L114">114</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L115" href="#L115">115</a> }
-<a class="jxr_linenumber" name="L116" href="#L116">116</a> <strong class="jxr_keyword">if</strong> (ownerDatePattern != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L117" href="#L117">117</a> matcher = ownerDatePattern.matcher(buffer);
-<a class="jxr_linenumber" name="L118" href="#L118">118</a> <strong class="jxr_keyword">return</strong> matcher.find() && matcher.start() == 0;
-<a class="jxr_linenumber" name="L119" href="#L119">119</a> }
-<a class="jxr_linenumber" name="L120" href="#L120">120</a> }
-<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L122" href="#L122">122</a> }
-<a class="jxr_linenumber" name="L123" href="#L123">123</a> }
+<a class="jxr_linenumber" name="L109" href="#L109">109</a> String lowerLine = line.toLowerCase();
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> <strong class="jxr_keyword">if</strong> (lowerLine.contains(<span class="jxr_string">"copyright"</span>) || lowerLine.contains(<span class="jxr_string">"(c)"</span>) || line.contains(<span class="jxr_string">"©"</span>)) {
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> Matcher matcher = COPYRIGHT_PATTERN.matcher(line);
+<a class="jxr_linenumber" name="L112" href="#L112">112</a> <strong class="jxr_keyword">if</strong> (matcher.find()) {
+<a class="jxr_linenumber" name="L113" href="#L113">113</a> String buffer = line.substring(matcher.end());
+<a class="jxr_linenumber" name="L114" href="#L114">114</a> matcher = dateOwnerPattern.matcher(buffer);
+<a class="jxr_linenumber" name="L115" href="#L115">115</a> <strong class="jxr_keyword">if</strong> (matcher.find() && matcher.start() == 0) {
+<a class="jxr_linenumber" name="L116" href="#L116">116</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L117" href="#L117">117</a> }
+<a class="jxr_linenumber" name="L118" href="#L118">118</a> <strong class="jxr_keyword">if</strong> (ownerDatePattern != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L119" href="#L119">119</a> matcher = ownerDatePattern.matcher(buffer);
+<a class="jxr_linenumber" name="L120" href="#L120">120</a> <strong class="jxr_keyword">return</strong> matcher.find() && matcher.start() == 0;
+<a class="jxr_linenumber" name="L121" href="#L121">121</a> }
+<a class="jxr_linenumber" name="L122" href="#L122">122</a> }
+<a class="jxr_linenumber" name="L123" href="#L123">123</a> }
+<a class="jxr_linenumber" name="L124" href="#L124">124</a> <strong class="jxr_keyword">return</strong> false;
+<a class="jxr_linenumber" name="L125" href="#L125">125</a> }
+<a class="jxr_linenumber" name="L126" href="#L126">126</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/matchers/SPDXMatcherFactory.html b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/matchers/SPDXMatcherFactory.html
index 28c4d246..b06cacd6 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/analysis/matchers/SPDXMatcherFactory.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/analysis/matchers/SPDXMatcherFactory.html
@@ -104,7 +104,7 @@
<a class="jxr_linenumber" name="L96" href="#L96">96</a> <em class="jxr_comment">// if the line has not been seen yet see if we can extract the SPDX id from the line.</em>
<a class="jxr_linenumber" name="L97" href="#L97">97</a> <em class="jxr_comment">// if so then see if that name has been registered. If so then we have a match and set </em>
<a class="jxr_linenumber" name="L98" href="#L98">98</a> <em class="jxr_comment">// lastMatch.</em>
-<a class="jxr_linenumber" name="L99" href="#L99">99</a> <strong class="jxr_keyword">if</strong> (lastLine == <strong class="jxr_keyword">null</strong> || !lastLine.equals(line)) {
+<a class="jxr_linenumber" name="L99" href="#L99">99</a> <strong class="jxr_keyword">if</strong> ((lastLine == <strong class="jxr_keyword">null</strong> || !lastLine.equals(line)) && line.contains(<span class="jxr_string">"SPDX-License-Identifier"</span>)) {
<a class="jxr_linenumber" name="L100" href="#L100">100</a> Matcher matcher = groupSelector.matcher(line);
<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">if</strong> (matcher.find()) {
<a class="jxr_linenumber" name="L102" href="#L102">102</a> lastMatch = matchers.get(matcher.group(1));
@@ -135,8 +135,15 @@
<a class="jxr_linenumber" name="L127" href="#L127">127</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> doMatch(String line) {
<a class="jxr_linenumber" name="L128" href="#L128">128</a> <strong class="jxr_keyword">return</strong> SPDXMatcherFactory.<strong class="jxr_keyword">this</strong>.check(line, <strong class="jxr_keyword">this</strong>);
<a class="jxr_linenumber" name="L129" href="#L129">129</a> }
-<a class="jxr_linenumber" name="L130" href="#L130">130</a> }
-<a class="jxr_linenumber" name="L131" href="#L131">131</a> }
+<a class="jxr_linenumber" name="L130" href="#L130">130</a>
+<a class="jxr_linenumber" name="L131" href="#L131">131</a> @Override
+<a class="jxr_linenumber" name="L132" href="#L132">132</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> reset() {
+<a class="jxr_linenumber" name="L133" href="#L133">133</a> <strong class="jxr_keyword">super</strong>.reset();
+<a class="jxr_linenumber" name="L134" href="#L134">134</a> SPDXMatcherFactory.<strong class="jxr_keyword">this</strong>.lastMatch = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L135" href="#L135">135</a>
+<a class="jxr_linenumber" name="L136" href="#L136">136</a> }
+<a class="jxr_linenumber" name="L137" href="#L137">137</a> }
+<a class="jxr_linenumber" name="L138" href="#L138">138</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/annotation/AbstractLicenseAppender.html b/rat0161/apache-rat-core/xref/org/apache/rat/annotation/AbstractLicenseAppender.html
index fac0d31f..90b9295c 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/annotation/AbstractLicenseAppender.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/annotation/AbstractLicenseAppender.html
@@ -27,617 +27,625 @@
<a class="jxr_linenumber" name="L19" href="#L19">19</a> <strong class="jxr_keyword">package</strong> org.apache.rat.annotation;
<a class="jxr_linenumber" name="L20" href="#L20">20</a>
<a class="jxr_linenumber" name="L21" href="#L21">21</a> <strong class="jxr_keyword">import</strong> org.apache.commons.io.IOUtils;
-<a class="jxr_linenumber" name="L22" href="#L22">22</a>
-<a class="jxr_linenumber" name="L23" href="#L23">23</a> <strong class="jxr_keyword">import</strong> java.io.BufferedReader;
-<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> java.io.File;
-<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> java.io.FileInputStream;
-<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> java.io.FileWriter;
-<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> java.io.FilterInputStream;
-<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">import</strong> java.io.IOException;
-<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">import</strong> java.io.InputStream;
-<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">import</strong> java.io.InputStreamReader;
-<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">import</strong> java.io.Writer;
-<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">import</strong> java.util.Arrays;
-<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">import</strong> java.util.HashMap;
-<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">import</strong> java.util.Map;
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> * Add a license header to a document. This appender does not check for the</em>
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> * existence of an existing license header, it is assumed that either a second</em>
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> * license header is intentional or that there is no license header present</em>
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * already.</em>
-<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a name="AbstractLicenseAppender" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender">AbstractLicenseAppender</a> {
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DOT = <span class="jxr_string">"."</span>;
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_UNKNOWN = 0;
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_JAVA = 1;
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_XML = 2;
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_HTML = 3;
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_CSS = 4;
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_JAVASCRIPT = 5;
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_APT = 6;
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PROPERTIES = 7;
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PYTHON = 8;
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_C = 9;
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_H = 10;
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_SH = 11;
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_BAT = 12;
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_VM = 13;
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_SCALA = 14;
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_RUBY = 15;
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PERL = 16;
-<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_TCL = 17;
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_CPP = 18;
-<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_CSHARP = 19;
-<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PHP = 20;
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_GROOVY = 21;
-<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_VISUAL_STUDIO_SOLUTION = 22;
-<a class="jxr_linenumber" name="L67" href="#L67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_BEANSHELL = 23;
-<a class="jxr_linenumber" name="L68" href="#L68">68</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_JSP = 24;
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_FML = 25;
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_GO = 26;
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PM = 27;
-<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_MD = 28;
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_YAML = 29;
-<a class="jxr_linenumber" name="L74" href="#L74">74</a>
+<a class="jxr_linenumber" name="L22" href="#L22">22</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.Log;
+<a class="jxr_linenumber" name="L23" href="#L23">23</a>
+<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> java.io.BufferedReader;
+<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> java.io.File;
+<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> java.io.FileInputStream;
+<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> java.io.FileWriter;
+<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">import</strong> java.io.FilterInputStream;
+<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">import</strong> java.io.IOException;
+<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">import</strong> java.io.InputStream;
+<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">import</strong> java.io.InputStreamReader;
+<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">import</strong> java.io.Writer;
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">import</strong> java.util.Arrays;
+<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">import</strong> java.util.HashMap;
+<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">import</strong> java.util.Map;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> * Add a license header to a document. This appender does not check for the</em>
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> * existence of an existing license header, it is assumed that either a second</em>
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * license header is intentional or that there is no license header present</em>
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> * already.</em>
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a name="AbstractLicenseAppender" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender">AbstractLicenseAppender</a> {
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DOT = <span class="jxr_string">"."</span>;
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_UNKNOWN = 0;
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_JAVA = 1;
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_XML = 2;
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_HTML = 3;
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_CSS = 4;
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_JAVASCRIPT = 5;
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_APT = 6;
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PROPERTIES = 7;
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PYTHON = 8;
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_C = 9;
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_H = 10;
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_SH = 11;
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_BAT = 12;
+<a class="jxr_linenumber" name="L58" href="#L58">58</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_VM = 13;
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_SCALA = 14;
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_RUBY = 15;
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PERL = 16;
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_TCL = 17;
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_CPP = 18;
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_CSHARP = 19;
+<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PHP = 20;
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_GROOVY = 21;
+<a class="jxr_linenumber" name="L67" href="#L67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_VISUAL_STUDIO_SOLUTION = 22;
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_BEANSHELL = 23;
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_JSP = 24;
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_FML = 25;
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_GO = 26;
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_PM = 27;
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_MD = 28;
+<a class="jxr_linenumber" name="L74" href="#L74">74</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TYPE_YAML = 29;
<a class="jxr_linenumber" name="L75" href="#L75">75</a>
-<a class="jxr_linenumber" name="L76" href="#L76">76</a>
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L78" href="#L78">78</a> <em class="jxr_javadoccomment"> * the line separator for this OS</em>
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LINE_SEP = System.lineSeparator();
-<a class="jxr_linenumber" name="L81" href="#L81">81</a>
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_C = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> TYPE_JAVA, TYPE_JAVASCRIPT, TYPE_C, TYPE_H, TYPE_SCALA,
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> TYPE_CSS, TYPE_CPP, TYPE_CSHARP, TYPE_PHP, TYPE_GROOVY,
-<a class="jxr_linenumber" name="L85" href="#L85">85</a> TYPE_BEANSHELL, TYPE_GO,
-<a class="jxr_linenumber" name="L86" href="#L86">86</a> };
-<a class="jxr_linenumber" name="L87" href="#L87">87</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_SGML = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L88" href="#L88">88</a> TYPE_XML, TYPE_HTML, TYPE_JSP, TYPE_FML, TYPE_MD,
-<a class="jxr_linenumber" name="L89" href="#L89">89</a> };
-<a class="jxr_linenumber" name="L90" href="#L90">90</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_SH = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L91" href="#L91">91</a> TYPE_PROPERTIES, TYPE_PYTHON, TYPE_SH, TYPE_RUBY, TYPE_PERL,
-<a class="jxr_linenumber" name="L92" href="#L92">92</a> TYPE_TCL, TYPE_VISUAL_STUDIO_SOLUTION, TYPE_PM, TYPE_YAML,
-<a class="jxr_linenumber" name="L93" href="#L93">93</a> };
-<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_BAT = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L95" href="#L95">95</a> TYPE_BAT,
-<a class="jxr_linenumber" name="L96" href="#L96">96</a> };
-<a class="jxr_linenumber" name="L97" href="#L97">97</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_APT = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L98" href="#L98">98</a> TYPE_APT,
-<a class="jxr_linenumber" name="L99" href="#L99">99</a> };
-<a class="jxr_linenumber" name="L100" href="#L100">100</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_VELOCITY = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> TYPE_VM,
-<a class="jxr_linenumber" name="L102" href="#L102">102</a> };
-<a class="jxr_linenumber" name="L103" href="#L103">103</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_HASH_PLING = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L104" href="#L104">104</a> TYPE_PYTHON, TYPE_SH, TYPE_RUBY, TYPE_PERL, TYPE_TCL,
-<a class="jxr_linenumber" name="L105" href="#L105">105</a> };
-<a class="jxr_linenumber" name="L106" href="#L106">106</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_AT_ECHO = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L107" href="#L107">107</a> TYPE_BAT,
-<a class="jxr_linenumber" name="L108" href="#L108">108</a> };
-<a class="jxr_linenumber" name="L109" href="#L109">109</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_PACKAGE = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L110" href="#L110">110</a> TYPE_JAVA, TYPE_GO, TYPE_PM,
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> };
-<a class="jxr_linenumber" name="L112" href="#L112">112</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_XML_DECL = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L113" href="#L113">113</a> TYPE_XML,
-<a class="jxr_linenumber" name="L114" href="#L114">114</a> };
-<a class="jxr_linenumber" name="L115" href="#L115">115</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_PHP_PI = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L116" href="#L116">116</a> TYPE_PHP,
-<a class="jxr_linenumber" name="L117" href="#L117">117</a> };
-<a class="jxr_linenumber" name="L118" href="#L118">118</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_MSVSSF_HEADER = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
-<a class="jxr_linenumber" name="L119" href="#L119">119</a> TYPE_VISUAL_STUDIO_SOLUTION,
-<a class="jxr_linenumber" name="L120" href="#L120">120</a> };
-<a class="jxr_linenumber" name="L121" href="#L121">121</a>
-<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Map<String, Integer> EXT2TYPE = <strong class="jxr_keyword">new</strong> HashMap<>();
-<a class="jxr_linenumber" name="L123" href="#L123">123</a>
-<a class="jxr_linenumber" name="L124" href="#L124">124</a> <strong class="jxr_keyword">static</strong> {
-<a class="jxr_linenumber" name="L125" href="#L125">125</a> <em class="jxr_comment">// these arrays are used in Arrays.binarySearch so they must</em>
-<a class="jxr_linenumber" name="L126" href="#L126">126</a> <em class="jxr_comment">// be sorted</em>
-<a class="jxr_linenumber" name="L127" href="#L127">127</a> Arrays.sort(FAMILY_C);
-<a class="jxr_linenumber" name="L128" href="#L128">128</a> Arrays.sort(FAMILY_SGML);
-<a class="jxr_linenumber" name="L129" href="#L129">129</a> Arrays.sort(FAMILY_SH);
-<a class="jxr_linenumber" name="L130" href="#L130">130</a> Arrays.sort(FAMILY_BAT);
-<a class="jxr_linenumber" name="L131" href="#L131">131</a> Arrays.sort(FAMILY_APT);
-<a class="jxr_linenumber" name="L132" href="#L132">132</a> Arrays.sort(FAMILY_VELOCITY);
-<a class="jxr_linenumber" name="L133" href="#L133">133</a>
-<a class="jxr_linenumber" name="L134" href="#L134">134</a> Arrays.sort(EXPECTS_HASH_PLING);
-<a class="jxr_linenumber" name="L135" href="#L135">135</a> Arrays.sort(EXPECTS_AT_ECHO);
-<a class="jxr_linenumber" name="L136" href="#L136">136</a> Arrays.sort(EXPECTS_PACKAGE);
-<a class="jxr_linenumber" name="L137" href="#L137">137</a> Arrays.sort(EXPECTS_XML_DECL);
-<a class="jxr_linenumber" name="L138" href="#L138">138</a> Arrays.sort(EXPECTS_MSVSSF_HEADER);
-<a class="jxr_linenumber" name="L139" href="#L139">139</a>
-<a class="jxr_linenumber" name="L140" href="#L140">140</a> EXT2TYPE.put(<span class="jxr_string">"apt"</span>, TYPE_APT);
-<a class="jxr_linenumber" name="L141" href="#L141">141</a> EXT2TYPE.put(<span class="jxr_string">"asax"</span>, TYPE_HTML);
-<a class="jxr_linenumber" name="L142" href="#L142">142</a> EXT2TYPE.put(<span class="jxr_string">"ascx"</span>, TYPE_HTML);
-<a class="jxr_linenumber" name="L143" href="#L143">143</a> EXT2TYPE.put(<span class="jxr_string">"aspx"</span>, TYPE_HTML);
-<a class="jxr_linenumber" name="L144" href="#L144">144</a> EXT2TYPE.put(<span class="jxr_string">"bat"</span>, TYPE_BAT);
-<a class="jxr_linenumber" name="L145" href="#L145">145</a> EXT2TYPE.put(<span class="jxr_string">"bsh"</span>, TYPE_BEANSHELL);
-<a class="jxr_linenumber" name="L146" href="#L146">146</a> EXT2TYPE.put(<span class="jxr_string">"c"</span>, TYPE_C);
-<a class="jxr_linenumber" name="L147" href="#L147">147</a> EXT2TYPE.put(<span class="jxr_string">"cc"</span>, TYPE_CPP);
-<a class="jxr_linenumber" name="L148" href="#L148">148</a> EXT2TYPE.put(<span class="jxr_string">"cmd"</span>, TYPE_BAT);
-<a class="jxr_linenumber" name="L149" href="#L149">149</a> EXT2TYPE.put(<span class="jxr_string">"config"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L150" href="#L150">150</a> EXT2TYPE.put(<span class="jxr_string">"cpp"</span>, TYPE_CPP);
-<a class="jxr_linenumber" name="L151" href="#L151">151</a> EXT2TYPE.put(<span class="jxr_string">"cs"</span>, TYPE_CSHARP);
-<a class="jxr_linenumber" name="L152" href="#L152">152</a> EXT2TYPE.put(<span class="jxr_string">"csdproj"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L153" href="#L153">153</a> EXT2TYPE.put(<span class="jxr_string">"csproj"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L154" href="#L154">154</a> EXT2TYPE.put(<span class="jxr_string">"css"</span>, TYPE_CSS);
-<a class="jxr_linenumber" name="L155" href="#L155">155</a> EXT2TYPE.put(<span class="jxr_string">"fxcop"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L156" href="#L156">156</a> EXT2TYPE.put(<span class="jxr_string">"fml"</span>, TYPE_FML);
-<a class="jxr_linenumber" name="L157" href="#L157">157</a> EXT2TYPE.put(<span class="jxr_string">"groovy"</span>, TYPE_GROOVY);
-<a class="jxr_linenumber" name="L158" href="#L158">158</a> EXT2TYPE.put(<span class="jxr_string">"go"</span>, TYPE_GO);
-<a class="jxr_linenumber" name="L159" href="#L159">159</a> EXT2TYPE.put(<span class="jxr_string">"h"</span>, TYPE_H);
-<a class="jxr_linenumber" name="L160" href="#L160">160</a> EXT2TYPE.put(<span class="jxr_string">"hh"</span>, TYPE_H);
-<a class="jxr_linenumber" name="L161" href="#L161">161</a> EXT2TYPE.put(<span class="jxr_string">"hpp"</span>, TYPE_H);
-<a class="jxr_linenumber" name="L162" href="#L162">162</a> EXT2TYPE.put(<span class="jxr_string">"htm"</span>, TYPE_HTML);
-<a class="jxr_linenumber" name="L163" href="#L163">163</a> EXT2TYPE.put(<span class="jxr_string">"html"</span>, TYPE_HTML);
-<a class="jxr_linenumber" name="L164" href="#L164">164</a> EXT2TYPE.put(<span class="jxr_string">"java"</span>, TYPE_JAVA);
-<a class="jxr_linenumber" name="L165" href="#L165">165</a> EXT2TYPE.put(<span class="jxr_string">"js"</span>, TYPE_JAVASCRIPT);
-<a class="jxr_linenumber" name="L166" href="#L166">166</a> EXT2TYPE.put(<span class="jxr_string">"jsp"</span>, TYPE_JSP);
-<a class="jxr_linenumber" name="L167" href="#L167">167</a> EXT2TYPE.put(<span class="jxr_string">"md"</span>, TYPE_MD);
-<a class="jxr_linenumber" name="L168" href="#L168">168</a> EXT2TYPE.put(<span class="jxr_string">"ndoc"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L169" href="#L169">169</a> EXT2TYPE.put(<span class="jxr_string">"nunit"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L170" href="#L170">170</a> EXT2TYPE.put(<span class="jxr_string">"php"</span>, TYPE_PHP);
-<a class="jxr_linenumber" name="L171" href="#L171">171</a> EXT2TYPE.put(<span class="jxr_string">"pl"</span>, TYPE_PERL);
-<a class="jxr_linenumber" name="L172" href="#L172">172</a> EXT2TYPE.put(<span class="jxr_string">"pm"</span>, TYPE_PM);
-<a class="jxr_linenumber" name="L173" href="#L173">173</a> EXT2TYPE.put(<span class="jxr_string">"properties"</span>, TYPE_PROPERTIES);
-<a class="jxr_linenumber" name="L174" href="#L174">174</a> EXT2TYPE.put(<span class="jxr_string">"py"</span>, TYPE_PYTHON);
-<a class="jxr_linenumber" name="L175" href="#L175">175</a> EXT2TYPE.put(<span class="jxr_string">"rb"</span>, TYPE_RUBY);
-<a class="jxr_linenumber" name="L176" href="#L176">176</a> EXT2TYPE.put(<span class="jxr_string">"rdf"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L177" href="#L177">177</a> EXT2TYPE.put(<span class="jxr_string">"resx"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L178" href="#L178">178</a> EXT2TYPE.put(<span class="jxr_string">"scala"</span>, TYPE_SCALA);
-<a class="jxr_linenumber" name="L179" href="#L179">179</a> EXT2TYPE.put(<span class="jxr_string">"sh"</span>, TYPE_SH);
-<a class="jxr_linenumber" name="L180" href="#L180">180</a> EXT2TYPE.put(<span class="jxr_string">"shfbproj"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L181" href="#L181">181</a> EXT2TYPE.put(<span class="jxr_string">"sln"</span>, TYPE_VISUAL_STUDIO_SOLUTION);
-<a class="jxr_linenumber" name="L182" href="#L182">182</a> EXT2TYPE.put(<span class="jxr_string">"stylecop"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L183" href="#L183">183</a> EXT2TYPE.put(<span class="jxr_string">"svg"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L184" href="#L184">184</a> EXT2TYPE.put(<span class="jxr_string">"tcl"</span>, TYPE_TCL);
-<a class="jxr_linenumber" name="L185" href="#L185">185</a> EXT2TYPE.put(<span class="jxr_string">"vbdproj"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L186" href="#L186">186</a> EXT2TYPE.put(<span class="jxr_string">"vbproj"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L187" href="#L187">187</a> EXT2TYPE.put(<span class="jxr_string">"vcproj"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L188" href="#L188">188</a> EXT2TYPE.put(<span class="jxr_string">"vm"</span>, TYPE_VM);
-<a class="jxr_linenumber" name="L189" href="#L189">189</a> EXT2TYPE.put(<span class="jxr_string">"vsdisco"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L190" href="#L190">190</a> EXT2TYPE.put(<span class="jxr_string">"webinfo"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L191" href="#L191">191</a> EXT2TYPE.put(<span class="jxr_string">"xml"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L192" href="#L192">192</a> EXT2TYPE.put(<span class="jxr_string">"xproj"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L193" href="#L193">193</a> EXT2TYPE.put(<span class="jxr_string">"xsl"</span>, TYPE_XML);
-<a class="jxr_linenumber" name="L194" href="#L194">194</a> EXT2TYPE.put(<span class="jxr_string">"yaml"</span>, TYPE_YAML);
-<a class="jxr_linenumber" name="L195" href="#L195">195</a> EXT2TYPE.put(<span class="jxr_string">"yml"</span>, TYPE_YAML);
-<a class="jxr_linenumber" name="L196" href="#L196">196</a> }
-<a class="jxr_linenumber" name="L197" href="#L197">197</a>
-<a class="jxr_linenumber" name="L198" href="#L198">198</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> isForced;
-<a class="jxr_linenumber" name="L199" href="#L199">199</a>
-<a class="jxr_linenumber" name="L200" href="#L200">200</a> <strong class="jxr_keyword">public</strong> <a name="AbstractLicenseAppender" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender">AbstractLicenseAppender</a>() {
-<a class="jxr_linenumber" name="L201" href="#L201">201</a> <strong class="jxr_keyword">super</strong>();
-<a class="jxr_linenumber" name="L202" href="#L202">202</a> }
-<a class="jxr_linenumber" name="L203" href="#L203">203</a>
-<a class="jxr_linenumber" name="L204" href="#L204">204</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L205" href="#L205">205</a> <em class="jxr_javadoccomment"> * Append the default license header to the supplied document.</em>
-<a class="jxr_linenumber" name="L206" href="#L206">206</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L207" href="#L207">207</a> <em class="jxr_javadoccomment"> * @param document document to append to.</em>
-<a class="jxr_linenumber" name="L208" href="#L208">208</a> <em class="jxr_javadoccomment"> * @throws IOException if there is a problem while reading or writing the file</em>
-<a class="jxr_linenumber" name="L209" href="#L209">209</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L210" href="#L210">210</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(File document) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L211" href="#L211">211</a> <strong class="jxr_keyword">int</strong> type = getType(document);
-<a class="jxr_linenumber" name="L212" href="#L212">212</a> <strong class="jxr_keyword">if</strong> (type == TYPE_UNKNOWN) {
-<a class="jxr_linenumber" name="L213" href="#L213">213</a> <strong class="jxr_keyword">return</strong>;
-<a class="jxr_linenumber" name="L214" href="#L214">214</a> }
-<a class="jxr_linenumber" name="L215" href="#L215">215</a>
-<a class="jxr_linenumber" name="L216" href="#L216">216</a> <strong class="jxr_keyword">boolean</strong> expectsHashPling = expectsHashPling(type);
-<a class="jxr_linenumber" name="L217" href="#L217">217</a> <strong class="jxr_keyword">boolean</strong> expectsAtEcho = expectsAtEcho(type);
-<a class="jxr_linenumber" name="L218" href="#L218">218</a> <strong class="jxr_keyword">boolean</strong> expectsPackage = expectsPackage(type);
-<a class="jxr_linenumber" name="L219" href="#L219">219</a> <strong class="jxr_keyword">boolean</strong> expectsXMLDecl = expectsXMLDecl(type);
-<a class="jxr_linenumber" name="L220" href="#L220">220</a> <strong class="jxr_keyword">boolean</strong> expectsPhpPI = expectsPhpPI(type);
-<a class="jxr_linenumber" name="L221" href="#L221">221</a> <strong class="jxr_keyword">boolean</strong> expectsMSVSSF = expectsMSVisualStudioSolutionFileHeader(type);
-<a class="jxr_linenumber" name="L222" href="#L222">222</a>
-<a class="jxr_linenumber" name="L223" href="#L223">223</a> File newDocument = <strong class="jxr_keyword">new</strong> File(document.getAbsolutePath() + <span class="jxr_string">".new"</span>);
-<a class="jxr_linenumber" name="L224" href="#L224">224</a> FileWriter writer = <strong class="jxr_keyword">new</strong> FileWriter(newDocument);
-<a class="jxr_linenumber" name="L225" href="#L225">225</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L226" href="#L226">226</a> <strong class="jxr_keyword">if</strong> (!attachLicense(writer, document,
-<a class="jxr_linenumber" name="L227" href="#L227">227</a> expectsHashPling, expectsAtEcho, expectsPackage,
-<a class="jxr_linenumber" name="L228" href="#L228">228</a> expectsXMLDecl, expectsPhpPI, expectsMSVSSF)) {
-<a class="jxr_linenumber" name="L229" href="#L229">229</a> <em class="jxr_comment">// Java File without package, XML file without decl or PHP</em>
-<a class="jxr_linenumber" name="L230" href="#L230">230</a> <em class="jxr_comment">// file without PI</em>
-<a class="jxr_linenumber" name="L231" href="#L231">231</a> <em class="jxr_comment">// for Java just place the license at the front, for XML add</em>
-<a class="jxr_linenumber" name="L232" href="#L232">232</a> <em class="jxr_comment">// an XML decl first - don't know how to handle PHP</em>
-<a class="jxr_linenumber" name="L233" href="#L233">233</a> <strong class="jxr_keyword">if</strong> (expectsPackage || expectsXMLDecl) {
-<a class="jxr_linenumber" name="L234" href="#L234">234</a> writer = <strong class="jxr_keyword">new</strong> FileWriter(newDocument);
-<a class="jxr_linenumber" name="L235" href="#L235">235</a> <strong class="jxr_keyword">if</strong> (expectsXMLDecl) {
-<a class="jxr_linenumber" name="L236" href="#L236">236</a> writer.write(<span class="jxr_string">"<?xml version='1.0'?>"</span>);
-<a class="jxr_linenumber" name="L237" href="#L237">237</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L238" href="#L238">238</a> }
-<a class="jxr_linenumber" name="L239" href="#L239">239</a> attachLicense(writer, document,
-<a class="jxr_linenumber" name="L240" href="#L240">240</a> false, false, false, false, false, false);
-<a class="jxr_linenumber" name="L241" href="#L241">241</a> }
-<a class="jxr_linenumber" name="L242" href="#L242">242</a> }
-<a class="jxr_linenumber" name="L243" href="#L243">243</a> } <strong class="jxr_keyword">finally</strong> {
-<a class="jxr_linenumber" name="L244" href="#L244">244</a> IOUtils.closeQuietly(writer);
-<a class="jxr_linenumber" name="L245" href="#L245">245</a> }
-<a class="jxr_linenumber" name="L246" href="#L246">246</a>
-<a class="jxr_linenumber" name="L247" href="#L247">247</a> <strong class="jxr_keyword">if</strong> (isForced) {
-<a class="jxr_linenumber" name="L248" href="#L248">248</a> <strong class="jxr_keyword">boolean</strong> deleted = document.delete();
-<a class="jxr_linenumber" name="L249" href="#L249">249</a> <strong class="jxr_keyword">if</strong> (!deleted) {
-<a class="jxr_linenumber" name="L250" href="#L250">250</a> System.err.println(<span class="jxr_string">"Could not delete original file to prepare renaming."</span>);
-<a class="jxr_linenumber" name="L251" href="#L251">251</a> }
-<a class="jxr_linenumber" name="L252" href="#L252">252</a> <strong class="jxr_keyword">boolean</strong> renamed = newDocument.renameTo(document.getAbsoluteFile());
-<a class="jxr_linenumber" name="L253" href="#L253">253</a> <strong class="jxr_keyword">if</strong> (!renamed) {
-<a class="jxr_linenumber" name="L254" href="#L254">254</a> System.err.println(<span class="jxr_string">"Failed to rename new file, original file remains unchanged."</span>);
-<a class="jxr_linenumber" name="L255" href="#L255">255</a> }
-<a class="jxr_linenumber" name="L256" href="#L256">256</a> }
-<a class="jxr_linenumber" name="L257" href="#L257">257</a> }
-<a class="jxr_linenumber" name="L258" href="#L258">258</a>
-<a class="jxr_linenumber" name="L259" href="#L259">259</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L260" href="#L260">260</a> <em class="jxr_javadoccomment"> * Write document's content to writer attaching the license using</em>
-<a class="jxr_linenumber" name="L261" href="#L261">261</a> <em class="jxr_javadoccomment"> * the given flags as hints for where to put it.</em>
-<a class="jxr_linenumber" name="L262" href="#L262">262</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L263" href="#L263">263</a> <em class="jxr_javadoccomment"> * @return whether the license has actually been written</em>
-<a class="jxr_linenumber" name="L264" href="#L264">264</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L265" href="#L265">265</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> attachLicense(Writer writer, File document,
-<a class="jxr_linenumber" name="L266" href="#L266">266</a> <strong class="jxr_keyword">boolean</strong> expectsHashPling,
-<a class="jxr_linenumber" name="L267" href="#L267">267</a> <strong class="jxr_keyword">boolean</strong> expectsAtEcho,
-<a class="jxr_linenumber" name="L268" href="#L268">268</a> <strong class="jxr_keyword">boolean</strong> expectsPackage,
-<a class="jxr_linenumber" name="L269" href="#L269">269</a> <strong class="jxr_keyword">boolean</strong> expectsXMLDecl,
-<a class="jxr_linenumber" name="L270" href="#L270">270</a> <strong class="jxr_keyword">boolean</strong> expectsPhpPI,
-<a class="jxr_linenumber" name="L271" href="#L271">271</a> <strong class="jxr_keyword">boolean</strong> expectsMSVSSF)
-<a class="jxr_linenumber" name="L272" href="#L272">272</a> <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L273" href="#L273">273</a> <strong class="jxr_keyword">boolean</strong> written = false;
-<a class="jxr_linenumber" name="L274" href="#L274">274</a> FileInputStream fis = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L275" href="#L275">275</a> BufferedReader br = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L276" href="#L276">276</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L277" href="#L277">277</a> fis = <strong class="jxr_keyword">new</strong> FileInputStream(document);
-<a class="jxr_linenumber" name="L278" href="#L278">278</a> br = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> InputStreamReader(<strong class="jxr_keyword">new</strong> <a name="BOMInputStream" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#BOMInputStream">BOMInputStream</a>(fis)));
-<a class="jxr_linenumber" name="L279" href="#L279">279</a>
-<a class="jxr_linenumber" name="L280" href="#L280">280</a> <strong class="jxr_keyword">if</strong> (!expectsHashPling
-<a class="jxr_linenumber" name="L281" href="#L281">281</a> && !expectsAtEcho
-<a class="jxr_linenumber" name="L282" href="#L282">282</a> && !expectsPackage
-<a class="jxr_linenumber" name="L283" href="#L283">283</a> && !expectsXMLDecl
-<a class="jxr_linenumber" name="L284" href="#L284">284</a> && !expectsPhpPI
-<a class="jxr_linenumber" name="L285" href="#L285">285</a> && !expectsMSVSSF) {
-<a class="jxr_linenumber" name="L286" href="#L286">286</a> written = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L287" href="#L287">287</a> writer.write(getLicenseHeader(document));
-<a class="jxr_linenumber" name="L288" href="#L288">288</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L289" href="#L289">289</a> }
-<a class="jxr_linenumber" name="L290" href="#L290">290</a>
-<a class="jxr_linenumber" name="L291" href="#L291">291</a> String line;
-<a class="jxr_linenumber" name="L292" href="#L292">292</a> <strong class="jxr_keyword">boolean</strong> first = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L293" href="#L293">293</a> <strong class="jxr_keyword">while</strong> ((line = br.readLine()) != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L294" href="#L294">294</a> <strong class="jxr_keyword">if</strong> (first && expectsHashPling) {
-<a class="jxr_linenumber" name="L295" href="#L295">295</a> written = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L296" href="#L296">296</a> doFirstLine(document, writer, line, <span class="jxr_string">"#!"</span>);
-<a class="jxr_linenumber" name="L297" href="#L297">297</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (first && expectsAtEcho) {
-<a class="jxr_linenumber" name="L298" href="#L298">298</a> written = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L299" href="#L299">299</a> doFirstLine(document, writer, line, <span class="jxr_string">"@echo"</span>);
-<a class="jxr_linenumber" name="L300" href="#L300">300</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (first && expectsMSVSSF) {
-<a class="jxr_linenumber" name="L301" href="#L301">301</a> written = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L302" href="#L302">302</a> <strong class="jxr_keyword">if</strong> (line.isEmpty()) {
-<a class="jxr_linenumber" name="L303" href="#L303">303</a> line = passThroughReadNext(writer, line, br);
-<a class="jxr_linenumber" name="L304" href="#L304">304</a> }
-<a class="jxr_linenumber" name="L305" href="#L305">305</a> <strong class="jxr_keyword">if</strong> (line.startsWith(<span class="jxr_string">"Microsoft Visual Studio Solution"</span>
-<a class="jxr_linenumber" name="L306" href="#L306">306</a> + <span class="jxr_string">" File"</span>)) {
-<a class="jxr_linenumber" name="L307" href="#L307">307</a> line = passThroughReadNext(writer, line, br);
-<a class="jxr_linenumber" name="L308" href="#L308">308</a> }
-<a class="jxr_linenumber" name="L309" href="#L309">309</a> doFirstLine(document, writer, line, <span class="jxr_string">"# Visual "</span>);
-<a class="jxr_linenumber" name="L310" href="#L310">310</a> } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L311" href="#L311">311</a> writer.write(line);
-<a class="jxr_linenumber" name="L312" href="#L312">312</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L313" href="#L313">313</a> }
-<a class="jxr_linenumber" name="L314" href="#L314">314</a>
-<a class="jxr_linenumber" name="L315" href="#L315">315</a> <strong class="jxr_keyword">if</strong> (expectsPackage && line.startsWith(<span class="jxr_string">"package "</span>)) {
-<a class="jxr_linenumber" name="L316" href="#L316">316</a> written = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L317" href="#L317">317</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L318" href="#L318">318</a> writer.write(getLicenseHeader(document));
-<a class="jxr_linenumber" name="L319" href="#L319">319</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L320" href="#L320">320</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (expectsXMLDecl && line.startsWith(<span class="jxr_string">"<?xml "</span>)) {
-<a class="jxr_linenumber" name="L321" href="#L321">321</a> written = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L322" href="#L322">322</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L323" href="#L323">323</a> writer.write(getLicenseHeader(document));
-<a class="jxr_linenumber" name="L324" href="#L324">324</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L325" href="#L325">325</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (expectsPhpPI && line.startsWith(<span class="jxr_string">"<?php"</span>)) {
-<a class="jxr_linenumber" name="L326" href="#L326">326</a> written = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L79" href="#L79">79</a> <em class="jxr_javadoccomment"> * the line separator for this OS</em>
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LINE_SEP = System.lineSeparator();
+<a class="jxr_linenumber" name="L82" href="#L82">82</a>
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_C = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> TYPE_JAVA, TYPE_JAVASCRIPT, TYPE_C, TYPE_H, TYPE_SCALA,
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> TYPE_CSS, TYPE_CPP, TYPE_CSHARP, TYPE_PHP, TYPE_GROOVY,
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> TYPE_BEANSHELL, TYPE_GO,
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> };
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_SGML = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L89" href="#L89">89</a> TYPE_XML, TYPE_HTML, TYPE_JSP, TYPE_FML, TYPE_MD,
+<a class="jxr_linenumber" name="L90" href="#L90">90</a> };
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_SH = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L92" href="#L92">92</a> TYPE_PROPERTIES, TYPE_PYTHON, TYPE_SH, TYPE_RUBY, TYPE_PERL,
+<a class="jxr_linenumber" name="L93" href="#L93">93</a> TYPE_TCL, TYPE_VISUAL_STUDIO_SOLUTION, TYPE_PM, TYPE_YAML,
+<a class="jxr_linenumber" name="L94" href="#L94">94</a> };
+<a class="jxr_linenumber" name="L95" href="#L95">95</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_BAT = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L96" href="#L96">96</a> TYPE_BAT,
+<a class="jxr_linenumber" name="L97" href="#L97">97</a> };
+<a class="jxr_linenumber" name="L98" href="#L98">98</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_APT = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L99" href="#L99">99</a> TYPE_APT,
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> };
+<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] FAMILY_VELOCITY = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L102" href="#L102">102</a> TYPE_VM,
+<a class="jxr_linenumber" name="L103" href="#L103">103</a> };
+<a class="jxr_linenumber" name="L104" href="#L104">104</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_HASH_PLING = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L105" href="#L105">105</a> TYPE_PYTHON, TYPE_SH, TYPE_RUBY, TYPE_PERL, TYPE_TCL,
+<a class="jxr_linenumber" name="L106" href="#L106">106</a> };
+<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_AT_ECHO = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L108" href="#L108">108</a> TYPE_BAT,
+<a class="jxr_linenumber" name="L109" href="#L109">109</a> };
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_PACKAGE = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> TYPE_JAVA, TYPE_GO, TYPE_PM,
+<a class="jxr_linenumber" name="L112" href="#L112">112</a> };
+<a class="jxr_linenumber" name="L113" href="#L113">113</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_XML_DECL = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L114" href="#L114">114</a> TYPE_XML,
+<a class="jxr_linenumber" name="L115" href="#L115">115</a> };
+<a class="jxr_linenumber" name="L116" href="#L116">116</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_PHP_PI = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L117" href="#L117">117</a> TYPE_PHP,
+<a class="jxr_linenumber" name="L118" href="#L118">118</a> };
+<a class="jxr_linenumber" name="L119" href="#L119">119</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] EXPECTS_MSVSSF_HEADER = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{
+<a class="jxr_linenumber" name="L120" href="#L120">120</a> TYPE_VISUAL_STUDIO_SOLUTION,
+<a class="jxr_linenumber" name="L121" href="#L121">121</a> };
+<a class="jxr_linenumber" name="L122" href="#L122">122</a>
+<a class="jxr_linenumber" name="L123" href="#L123">123</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Map<String, Integer> EXT2TYPE = <strong class="jxr_keyword">new</strong> HashMap<>();
+<a class="jxr_linenumber" name="L124" href="#L124">124</a>
+<a class="jxr_linenumber" name="L125" href="#L125">125</a> <strong class="jxr_keyword">static</strong> {
+<a class="jxr_linenumber" name="L126" href="#L126">126</a> <em class="jxr_comment">// these arrays are used in Arrays.binarySearch so they must</em>
+<a class="jxr_linenumber" name="L127" href="#L127">127</a> <em class="jxr_comment">// be sorted</em>
+<a class="jxr_linenumber" name="L128" href="#L128">128</a> Arrays.sort(FAMILY_C);
+<a class="jxr_linenumber" name="L129" href="#L129">129</a> Arrays.sort(FAMILY_SGML);
+<a class="jxr_linenumber" name="L130" href="#L130">130</a> Arrays.sort(FAMILY_SH);
+<a class="jxr_linenumber" name="L131" href="#L131">131</a> Arrays.sort(FAMILY_BAT);
+<a class="jxr_linenumber" name="L132" href="#L132">132</a> Arrays.sort(FAMILY_APT);
+<a class="jxr_linenumber" name="L133" href="#L133">133</a> Arrays.sort(FAMILY_VELOCITY);
+<a class="jxr_linenumber" name="L134" href="#L134">134</a>
+<a class="jxr_linenumber" name="L135" href="#L135">135</a> Arrays.sort(EXPECTS_HASH_PLING);
+<a class="jxr_linenumber" name="L136" href="#L136">136</a> Arrays.sort(EXPECTS_AT_ECHO);
+<a class="jxr_linenumber" name="L137" href="#L137">137</a> Arrays.sort(EXPECTS_PACKAGE);
+<a class="jxr_linenumber" name="L138" href="#L138">138</a> Arrays.sort(EXPECTS_XML_DECL);
+<a class="jxr_linenumber" name="L139" href="#L139">139</a> Arrays.sort(EXPECTS_MSVSSF_HEADER);
+<a class="jxr_linenumber" name="L140" href="#L140">140</a>
+<a class="jxr_linenumber" name="L141" href="#L141">141</a> EXT2TYPE.put(<span class="jxr_string">"apt"</span>, TYPE_APT);
+<a class="jxr_linenumber" name="L142" href="#L142">142</a> EXT2TYPE.put(<span class="jxr_string">"asax"</span>, TYPE_HTML);
+<a class="jxr_linenumber" name="L143" href="#L143">143</a> EXT2TYPE.put(<span class="jxr_string">"ascx"</span>, TYPE_HTML);
+<a class="jxr_linenumber" name="L144" href="#L144">144</a> EXT2TYPE.put(<span class="jxr_string">"aspx"</span>, TYPE_HTML);
+<a class="jxr_linenumber" name="L145" href="#L145">145</a> EXT2TYPE.put(<span class="jxr_string">"bat"</span>, TYPE_BAT);
+<a class="jxr_linenumber" name="L146" href="#L146">146</a> EXT2TYPE.put(<span class="jxr_string">"bsh"</span>, TYPE_BEANSHELL);
+<a class="jxr_linenumber" name="L147" href="#L147">147</a> EXT2TYPE.put(<span class="jxr_string">"c"</span>, TYPE_C);
+<a class="jxr_linenumber" name="L148" href="#L148">148</a> EXT2TYPE.put(<span class="jxr_string">"cc"</span>, TYPE_CPP);
+<a class="jxr_linenumber" name="L149" href="#L149">149</a> EXT2TYPE.put(<span class="jxr_string">"cmd"</span>, TYPE_BAT);
+<a class="jxr_linenumber" name="L150" href="#L150">150</a> EXT2TYPE.put(<span class="jxr_string">"config"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L151" href="#L151">151</a> EXT2TYPE.put(<span class="jxr_string">"cpp"</span>, TYPE_CPP);
+<a class="jxr_linenumber" name="L152" href="#L152">152</a> EXT2TYPE.put(<span class="jxr_string">"cs"</span>, TYPE_CSHARP);
+<a class="jxr_linenumber" name="L153" href="#L153">153</a> EXT2TYPE.put(<span class="jxr_string">"csdproj"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L154" href="#L154">154</a> EXT2TYPE.put(<span class="jxr_string">"csproj"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L155" href="#L155">155</a> EXT2TYPE.put(<span class="jxr_string">"css"</span>, TYPE_CSS);
+<a class="jxr_linenumber" name="L156" href="#L156">156</a> EXT2TYPE.put(<span class="jxr_string">"fxcop"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L157" href="#L157">157</a> EXT2TYPE.put(<span class="jxr_string">"fml"</span>, TYPE_FML);
+<a class="jxr_linenumber" name="L158" href="#L158">158</a> EXT2TYPE.put(<span class="jxr_string">"groovy"</span>, TYPE_GROOVY);
+<a class="jxr_linenumber" name="L159" href="#L159">159</a> EXT2TYPE.put(<span class="jxr_string">"go"</span>, TYPE_GO);
+<a class="jxr_linenumber" name="L160" href="#L160">160</a> EXT2TYPE.put(<span class="jxr_string">"h"</span>, TYPE_H);
+<a class="jxr_linenumber" name="L161" href="#L161">161</a> EXT2TYPE.put(<span class="jxr_string">"hh"</span>, TYPE_H);
+<a class="jxr_linenumber" name="L162" href="#L162">162</a> EXT2TYPE.put(<span class="jxr_string">"hpp"</span>, TYPE_H);
+<a class="jxr_linenumber" name="L163" href="#L163">163</a> EXT2TYPE.put(<span class="jxr_string">"htm"</span>, TYPE_HTML);
+<a class="jxr_linenumber" name="L164" href="#L164">164</a> EXT2TYPE.put(<span class="jxr_string">"html"</span>, TYPE_HTML);
+<a class="jxr_linenumber" name="L165" href="#L165">165</a> EXT2TYPE.put(<span class="jxr_string">"java"</span>, TYPE_JAVA);
+<a class="jxr_linenumber" name="L166" href="#L166">166</a> EXT2TYPE.put(<span class="jxr_string">"js"</span>, TYPE_JAVASCRIPT);
+<a class="jxr_linenumber" name="L167" href="#L167">167</a> EXT2TYPE.put(<span class="jxr_string">"jsp"</span>, TYPE_JSP);
+<a class="jxr_linenumber" name="L168" href="#L168">168</a> EXT2TYPE.put(<span class="jxr_string">"md"</span>, TYPE_MD);
+<a class="jxr_linenumber" name="L169" href="#L169">169</a> EXT2TYPE.put(<span class="jxr_string">"ndoc"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L170" href="#L170">170</a> EXT2TYPE.put(<span class="jxr_string">"nunit"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L171" href="#L171">171</a> EXT2TYPE.put(<span class="jxr_string">"php"</span>, TYPE_PHP);
+<a class="jxr_linenumber" name="L172" href="#L172">172</a> EXT2TYPE.put(<span class="jxr_string">"pl"</span>, TYPE_PERL);
+<a class="jxr_linenumber" name="L173" href="#L173">173</a> EXT2TYPE.put(<span class="jxr_string">"pm"</span>, TYPE_PM);
+<a class="jxr_linenumber" name="L174" href="#L174">174</a> EXT2TYPE.put(<span class="jxr_string">"properties"</span>, TYPE_PROPERTIES);
+<a class="jxr_linenumber" name="L175" href="#L175">175</a> EXT2TYPE.put(<span class="jxr_string">"py"</span>, TYPE_PYTHON);
+<a class="jxr_linenumber" name="L176" href="#L176">176</a> EXT2TYPE.put(<span class="jxr_string">"rb"</span>, TYPE_RUBY);
+<a class="jxr_linenumber" name="L177" href="#L177">177</a> EXT2TYPE.put(<span class="jxr_string">"rdf"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L178" href="#L178">178</a> EXT2TYPE.put(<span class="jxr_string">"resx"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L179" href="#L179">179</a> EXT2TYPE.put(<span class="jxr_string">"scala"</span>, TYPE_SCALA);
+<a class="jxr_linenumber" name="L180" href="#L180">180</a> EXT2TYPE.put(<span class="jxr_string">"sh"</span>, TYPE_SH);
+<a class="jxr_linenumber" name="L181" href="#L181">181</a> EXT2TYPE.put(<span class="jxr_string">"shfbproj"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L182" href="#L182">182</a> EXT2TYPE.put(<span class="jxr_string">"sln"</span>, TYPE_VISUAL_STUDIO_SOLUTION);
+<a class="jxr_linenumber" name="L183" href="#L183">183</a> EXT2TYPE.put(<span class="jxr_string">"stylecop"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L184" href="#L184">184</a> EXT2TYPE.put(<span class="jxr_string">"svg"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L185" href="#L185">185</a> EXT2TYPE.put(<span class="jxr_string">"tcl"</span>, TYPE_TCL);
+<a class="jxr_linenumber" name="L186" href="#L186">186</a> EXT2TYPE.put(<span class="jxr_string">"vbdproj"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L187" href="#L187">187</a> EXT2TYPE.put(<span class="jxr_string">"vbproj"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L188" href="#L188">188</a> EXT2TYPE.put(<span class="jxr_string">"vcproj"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L189" href="#L189">189</a> EXT2TYPE.put(<span class="jxr_string">"vm"</span>, TYPE_VM);
+<a class="jxr_linenumber" name="L190" href="#L190">190</a> EXT2TYPE.put(<span class="jxr_string">"vsdisco"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L191" href="#L191">191</a> EXT2TYPE.put(<span class="jxr_string">"webinfo"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L192" href="#L192">192</a> EXT2TYPE.put(<span class="jxr_string">"xml"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L193" href="#L193">193</a> EXT2TYPE.put(<span class="jxr_string">"xproj"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L194" href="#L194">194</a> EXT2TYPE.put(<span class="jxr_string">"xsl"</span>, TYPE_XML);
+<a class="jxr_linenumber" name="L195" href="#L195">195</a> EXT2TYPE.put(<span class="jxr_string">"yaml"</span>, TYPE_YAML);
+<a class="jxr_linenumber" name="L196" href="#L196">196</a> EXT2TYPE.put(<span class="jxr_string">"yml"</span>, TYPE_YAML);
+<a class="jxr_linenumber" name="L197" href="#L197">197</a> }
+<a class="jxr_linenumber" name="L198" href="#L198">198</a>
+<a class="jxr_linenumber" name="L199" href="#L199">199</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> isForced;
+<a class="jxr_linenumber" name="L200" href="#L200">200</a> <em class="jxr_javadoccomment">/** The log to use */</em>
+<a class="jxr_linenumber" name="L201" href="#L201">201</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="Log" href="../../../../org/apache/rat/utils/Log.html#Log">Log</a> log;
+<a class="jxr_linenumber" name="L202" href="#L202">202</a>
+<a class="jxr_linenumber" name="L203" href="#L203">203</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L204" href="#L204">204</a> <em class="jxr_javadoccomment"> * Constructor</em>
+<a class="jxr_linenumber" name="L205" href="#L205">205</a> <em class="jxr_javadoccomment"> * @param log The log to use.</em>
+<a class="jxr_linenumber" name="L206" href="#L206">206</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L207" href="#L207">207</a> <strong class="jxr_keyword">public</strong> <a name="AbstractLicenseAppender" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender">AbstractLicenseAppender</a>(<strong class="jxr_keyword">final</strong> <a name="Log" href="../../../../org/apache/rat/utils/Log.html#Log">Log</a> log) {
+<a class="jxr_linenumber" name="L208" href="#L208">208</a> <strong class="jxr_keyword">super</strong>();
+<a class="jxr_linenumber" name="L209" href="#L209">209</a> <strong class="jxr_keyword">this</strong>.log = log;
+<a class="jxr_linenumber" name="L210" href="#L210">210</a> }
+<a class="jxr_linenumber" name="L211" href="#L211">211</a>
+<a class="jxr_linenumber" name="L212" href="#L212">212</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L213" href="#L213">213</a> <em class="jxr_javadoccomment"> * Append the default license header to the supplied document.</em>
+<a class="jxr_linenumber" name="L214" href="#L214">214</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L215" href="#L215">215</a> <em class="jxr_javadoccomment"> * @param document document to append to.</em>
+<a class="jxr_linenumber" name="L216" href="#L216">216</a> <em class="jxr_javadoccomment"> * @throws IOException if there is a problem while reading or writing the file</em>
+<a class="jxr_linenumber" name="L217" href="#L217">217</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L218" href="#L218">218</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(File document) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L219" href="#L219">219</a> <strong class="jxr_keyword">int</strong> type = getType(document);
+<a class="jxr_linenumber" name="L220" href="#L220">220</a> <strong class="jxr_keyword">if</strong> (type == TYPE_UNKNOWN) {
+<a class="jxr_linenumber" name="L221" href="#L221">221</a> <strong class="jxr_keyword">return</strong>;
+<a class="jxr_linenumber" name="L222" href="#L222">222</a> }
+<a class="jxr_linenumber" name="L223" href="#L223">223</a>
+<a class="jxr_linenumber" name="L224" href="#L224">224</a> <strong class="jxr_keyword">boolean</strong> expectsHashPling = expectsHashPling(type);
+<a class="jxr_linenumber" name="L225" href="#L225">225</a> <strong class="jxr_keyword">boolean</strong> expectsAtEcho = expectsAtEcho(type);
+<a class="jxr_linenumber" name="L226" href="#L226">226</a> <strong class="jxr_keyword">boolean</strong> expectsPackage = expectsPackage(type);
+<a class="jxr_linenumber" name="L227" href="#L227">227</a> <strong class="jxr_keyword">boolean</strong> expectsXMLDecl = expectsXMLDecl(type);
+<a class="jxr_linenumber" name="L228" href="#L228">228</a> <strong class="jxr_keyword">boolean</strong> expectsPhpPI = expectsPhpPI(type);
+<a class="jxr_linenumber" name="L229" href="#L229">229</a> <strong class="jxr_keyword">boolean</strong> expectsMSVSSF = expectsMSVisualStudioSolutionFileHeader(type);
+<a class="jxr_linenumber" name="L230" href="#L230">230</a>
+<a class="jxr_linenumber" name="L231" href="#L231">231</a> File newDocument = <strong class="jxr_keyword">new</strong> File(document.getAbsolutePath() + <span class="jxr_string">".new"</span>);
+<a class="jxr_linenumber" name="L232" href="#L232">232</a> FileWriter writer = <strong class="jxr_keyword">new</strong> FileWriter(newDocument);
+<a class="jxr_linenumber" name="L233" href="#L233">233</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L234" href="#L234">234</a> <strong class="jxr_keyword">if</strong> (!attachLicense(writer, document,
+<a class="jxr_linenumber" name="L235" href="#L235">235</a> expectsHashPling, expectsAtEcho, expectsPackage,
+<a class="jxr_linenumber" name="L236" href="#L236">236</a> expectsXMLDecl, expectsPhpPI, expectsMSVSSF)) {
+<a class="jxr_linenumber" name="L237" href="#L237">237</a> <em class="jxr_comment">// Java File without package, XML file without decl or PHP</em>
+<a class="jxr_linenumber" name="L238" href="#L238">238</a> <em class="jxr_comment">// file without PI</em>
+<a class="jxr_linenumber" name="L239" href="#L239">239</a> <em class="jxr_comment">// for Java just place the license at the front, for XML add</em>
+<a class="jxr_linenumber" name="L240" href="#L240">240</a> <em class="jxr_comment">// an XML decl first - don't know how to handle PHP</em>
+<a class="jxr_linenumber" name="L241" href="#L241">241</a> <strong class="jxr_keyword">if</strong> (expectsPackage || expectsXMLDecl) {
+<a class="jxr_linenumber" name="L242" href="#L242">242</a> writer = <strong class="jxr_keyword">new</strong> FileWriter(newDocument);
+<a class="jxr_linenumber" name="L243" href="#L243">243</a> <strong class="jxr_keyword">if</strong> (expectsXMLDecl) {
+<a class="jxr_linenumber" name="L244" href="#L244">244</a> writer.write(<span class="jxr_string">"<?xml version='1.0'?>"</span>);
+<a class="jxr_linenumber" name="L245" href="#L245">245</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L246" href="#L246">246</a> }
+<a class="jxr_linenumber" name="L247" href="#L247">247</a> attachLicense(writer, document,
+<a class="jxr_linenumber" name="L248" href="#L248">248</a> false, false, false, false, false, false);
+<a class="jxr_linenumber" name="L249" href="#L249">249</a> }
+<a class="jxr_linenumber" name="L250" href="#L250">250</a> }
+<a class="jxr_linenumber" name="L251" href="#L251">251</a> } <strong class="jxr_keyword">finally</strong> {
+<a class="jxr_linenumber" name="L252" href="#L252">252</a> IOUtils.closeQuietly(writer);
+<a class="jxr_linenumber" name="L253" href="#L253">253</a> }
+<a class="jxr_linenumber" name="L254" href="#L254">254</a>
+<a class="jxr_linenumber" name="L255" href="#L255">255</a> <strong class="jxr_keyword">if</strong> (isForced) {
+<a class="jxr_linenumber" name="L256" href="#L256">256</a> <strong class="jxr_keyword">boolean</strong> deleted = document.delete();
+<a class="jxr_linenumber" name="L257" href="#L257">257</a> <strong class="jxr_keyword">if</strong> (!deleted) {
+<a class="jxr_linenumber" name="L258" href="#L258">258</a> log.error(<span class="jxr_string">"Could not delete original file to prepare renaming."</span>);
+<a class="jxr_linenumber" name="L259" href="#L259">259</a> }
+<a class="jxr_linenumber" name="L260" href="#L260">260</a> <strong class="jxr_keyword">boolean</strong> renamed = newDocument.renameTo(document.getAbsoluteFile());
+<a class="jxr_linenumber" name="L261" href="#L261">261</a> <strong class="jxr_keyword">if</strong> (!renamed) {
+<a class="jxr_linenumber" name="L262" href="#L262">262</a> log.error(<span class="jxr_string">"Failed to rename new file, original file remains unchanged."</span>);
+<a class="jxr_linenumber" name="L263" href="#L263">263</a> }
+<a class="jxr_linenumber" name="L264" href="#L264">264</a> }
+<a class="jxr_linenumber" name="L265" href="#L265">265</a> }
+<a class="jxr_linenumber" name="L266" href="#L266">266</a>
+<a class="jxr_linenumber" name="L267" href="#L267">267</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L268" href="#L268">268</a> <em class="jxr_javadoccomment"> * Write document's content to writer attaching the license using</em>
+<a class="jxr_linenumber" name="L269" href="#L269">269</a> <em class="jxr_javadoccomment"> * the given flags as hints for where to put it.</em>
+<a class="jxr_linenumber" name="L270" href="#L270">270</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L271" href="#L271">271</a> <em class="jxr_javadoccomment"> * @return whether the license has actually been written</em>
+<a class="jxr_linenumber" name="L272" href="#L272">272</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L273" href="#L273">273</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> attachLicense(Writer writer, File document,
+<a class="jxr_linenumber" name="L274" href="#L274">274</a> <strong class="jxr_keyword">boolean</strong> expectsHashPling,
+<a class="jxr_linenumber" name="L275" href="#L275">275</a> <strong class="jxr_keyword">boolean</strong> expectsAtEcho,
+<a class="jxr_linenumber" name="L276" href="#L276">276</a> <strong class="jxr_keyword">boolean</strong> expectsPackage,
+<a class="jxr_linenumber" name="L277" href="#L277">277</a> <strong class="jxr_keyword">boolean</strong> expectsXMLDecl,
+<a class="jxr_linenumber" name="L278" href="#L278">278</a> <strong class="jxr_keyword">boolean</strong> expectsPhpPI,
+<a class="jxr_linenumber" name="L279" href="#L279">279</a> <strong class="jxr_keyword">boolean</strong> expectsMSVSSF)
+<a class="jxr_linenumber" name="L280" href="#L280">280</a> <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L281" href="#L281">281</a> <strong class="jxr_keyword">boolean</strong> written = false;
+<a class="jxr_linenumber" name="L282" href="#L282">282</a> FileInputStream fis = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L283" href="#L283">283</a> BufferedReader br = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L284" href="#L284">284</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L285" href="#L285">285</a> fis = <strong class="jxr_keyword">new</strong> FileInputStream(document);
+<a class="jxr_linenumber" name="L286" href="#L286">286</a> br = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> InputStreamReader(<strong class="jxr_keyword">new</strong> <a name="BOMInputStream" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#BOMInputStream">BOMInputStream</a>(fis)));
+<a class="jxr_linenumber" name="L287" href="#L287">287</a>
+<a class="jxr_linenumber" name="L288" href="#L288">288</a> <strong class="jxr_keyword">if</strong> (!expectsHashPling
+<a class="jxr_linenumber" name="L289" href="#L289">289</a> && !expectsAtEcho
+<a class="jxr_linenumber" name="L290" href="#L290">290</a> && !expectsPackage
+<a class="jxr_linenumber" name="L291" href="#L291">291</a> && !expectsXMLDecl
+<a class="jxr_linenumber" name="L292" href="#L292">292</a> && !expectsPhpPI
+<a class="jxr_linenumber" name="L293" href="#L293">293</a> && !expectsMSVSSF) {
+<a class="jxr_linenumber" name="L294" href="#L294">294</a> written = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L295" href="#L295">295</a> writer.write(getLicenseHeader(document));
+<a class="jxr_linenumber" name="L296" href="#L296">296</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L297" href="#L297">297</a> }
+<a class="jxr_linenumber" name="L298" href="#L298">298</a>
+<a class="jxr_linenumber" name="L299" href="#L299">299</a> String line;
+<a class="jxr_linenumber" name="L300" href="#L300">300</a> <strong class="jxr_keyword">boolean</strong> first = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L301" href="#L301">301</a> <strong class="jxr_keyword">while</strong> ((line = br.readLine()) != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L302" href="#L302">302</a> <strong class="jxr_keyword">if</strong> (first && expectsHashPling) {
+<a class="jxr_linenumber" name="L303" href="#L303">303</a> written = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L304" href="#L304">304</a> doFirstLine(document, writer, line, <span class="jxr_string">"#!"</span>);
+<a class="jxr_linenumber" name="L305" href="#L305">305</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (first && expectsAtEcho) {
+<a class="jxr_linenumber" name="L306" href="#L306">306</a> written = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L307" href="#L307">307</a> doFirstLine(document, writer, line, <span class="jxr_string">"@echo"</span>);
+<a class="jxr_linenumber" name="L308" href="#L308">308</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (first && expectsMSVSSF) {
+<a class="jxr_linenumber" name="L309" href="#L309">309</a> written = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L310" href="#L310">310</a> <strong class="jxr_keyword">if</strong> (line.isEmpty()) {
+<a class="jxr_linenumber" name="L311" href="#L311">311</a> line = passThroughReadNext(writer, line, br);
+<a class="jxr_linenumber" name="L312" href="#L312">312</a> }
+<a class="jxr_linenumber" name="L313" href="#L313">313</a> <strong class="jxr_keyword">if</strong> (line.startsWith(<span class="jxr_string">"Microsoft Visual Studio Solution"</span>
+<a class="jxr_linenumber" name="L314" href="#L314">314</a> + <span class="jxr_string">" File"</span>)) {
+<a class="jxr_linenumber" name="L315" href="#L315">315</a> line = passThroughReadNext(writer, line, br);
+<a class="jxr_linenumber" name="L316" href="#L316">316</a> }
+<a class="jxr_linenumber" name="L317" href="#L317">317</a> doFirstLine(document, writer, line, <span class="jxr_string">"# Visual "</span>);
+<a class="jxr_linenumber" name="L318" href="#L318">318</a> } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L319" href="#L319">319</a> writer.write(line);
+<a class="jxr_linenumber" name="L320" href="#L320">320</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L321" href="#L321">321</a> }
+<a class="jxr_linenumber" name="L322" href="#L322">322</a>
+<a class="jxr_linenumber" name="L323" href="#L323">323</a> <strong class="jxr_keyword">if</strong> (expectsPackage && line.startsWith(<span class="jxr_string">"package "</span>)) {
+<a class="jxr_linenumber" name="L324" href="#L324">324</a> written = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L325" href="#L325">325</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L326" href="#L326">326</a> writer.write(getLicenseHeader(document));
<a class="jxr_linenumber" name="L327" href="#L327">327</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L328" href="#L328">328</a> writer.write(getLicenseHeader(document));
-<a class="jxr_linenumber" name="L329" href="#L329">329</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L330" href="#L330">330</a> }
-<a class="jxr_linenumber" name="L331" href="#L331">331</a> first = false;
-<a class="jxr_linenumber" name="L332" href="#L332">332</a> }
-<a class="jxr_linenumber" name="L333" href="#L333">333</a> } <strong class="jxr_keyword">finally</strong> {
-<a class="jxr_linenumber" name="L334" href="#L334">334</a> IOUtils.closeQuietly(br);
-<a class="jxr_linenumber" name="L335" href="#L335">335</a> IOUtils.closeQuietly(fis);
-<a class="jxr_linenumber" name="L336" href="#L336">336</a> IOUtils.closeQuietly(writer);
-<a class="jxr_linenumber" name="L337" href="#L337">337</a> }
-<a class="jxr_linenumber" name="L338" href="#L338">338</a> <strong class="jxr_keyword">return</strong> written;
-<a class="jxr_linenumber" name="L339" href="#L339">339</a> }
-<a class="jxr_linenumber" name="L340" href="#L340">340</a>
-<a class="jxr_linenumber" name="L341" href="#L341">341</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L342" href="#L342">342</a> <em class="jxr_javadoccomment"> * Check first line for specified text and process.</em>
-<a class="jxr_linenumber" name="L343" href="#L343">343</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L344" href="#L344">344</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doFirstLine(File document, Writer writer, String line, String lookfor) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L345" href="#L345">345</a> <strong class="jxr_keyword">if</strong> (line.startsWith(lookfor)) {
-<a class="jxr_linenumber" name="L346" href="#L346">346</a> writer.write(line);
-<a class="jxr_linenumber" name="L347" href="#L347">347</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L348" href="#L348">348</a> writer.write(getLicenseHeader(document));
-<a class="jxr_linenumber" name="L349" href="#L349">349</a> } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L350" href="#L350">350</a> writer.write(getLicenseHeader(document));
-<a class="jxr_linenumber" name="L351" href="#L351">351</a> writer.write(line);
-<a class="jxr_linenumber" name="L352" href="#L352">352</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L353" href="#L353">353</a> }
-<a class="jxr_linenumber" name="L354" href="#L354">354</a> }
-<a class="jxr_linenumber" name="L355" href="#L355">355</a>
-<a class="jxr_linenumber" name="L356" href="#L356">356</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L357" href="#L357">357</a> <em class="jxr_javadoccomment"> * Detect the type of document.</em>
-<a class="jxr_linenumber" name="L358" href="#L358">358</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L359" href="#L359">359</a> <em class="jxr_javadoccomment"> * @param document to retrieve type from.</em>
-<a class="jxr_linenumber" name="L360" href="#L360">360</a> <em class="jxr_javadoccomment"> * @return not null</em>
-<a class="jxr_linenumber" name="L361" href="#L361">361</a> <em class="jxr_javadoccomment"> * TODO use existing mechanism to detect the type of a file and record it in the report output, thus we will not need this duplication here.</em>
-<a class="jxr_linenumber" name="L362" href="#L362">362</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L363" href="#L363">363</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> getType(File document) {
-<a class="jxr_linenumber" name="L364" href="#L364">364</a> String path = document.getPath();
-<a class="jxr_linenumber" name="L365" href="#L365">365</a> <strong class="jxr_keyword">int</strong> lastDot = path.lastIndexOf(DOT);
-<a class="jxr_linenumber" name="L366" href="#L366">366</a> <strong class="jxr_keyword">if</strong> (lastDot >= 0 && lastDot < path.length() - 1) {
-<a class="jxr_linenumber" name="L367" href="#L367">367</a> String ext = path.substring(lastDot + 1);
-<a class="jxr_linenumber" name="L368" href="#L368">368</a> Integer type = EXT2TYPE.get(ext);
-<a class="jxr_linenumber" name="L369" href="#L369">369</a> <strong class="jxr_keyword">if</strong> (type != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L370" href="#L370">370</a> <strong class="jxr_keyword">return</strong> type;
-<a class="jxr_linenumber" name="L371" href="#L371">371</a> }
-<a class="jxr_linenumber" name="L372" href="#L372">372</a> }
-<a class="jxr_linenumber" name="L373" href="#L373">373</a> <strong class="jxr_keyword">return</strong> TYPE_UNKNOWN;
-<a class="jxr_linenumber" name="L374" href="#L374">374</a> }
-<a class="jxr_linenumber" name="L375" href="#L375">375</a>
-<a class="jxr_linenumber" name="L376" href="#L376">376</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L377" href="#L377">377</a> <em class="jxr_javadoccomment"> * Set the force flag on this appender. If this flag is set</em>
-<a class="jxr_linenumber" name="L378" href="#L378">378</a> <em class="jxr_javadoccomment"> * to true then files will be modified directly, otherwise</em>
-<a class="jxr_linenumber" name="L379" href="#L379">379</a> <em class="jxr_javadoccomment"> * new files will be created alongside the existing files.</em>
-<a class="jxr_linenumber" name="L380" href="#L380">380</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L381" href="#L381">381</a> <em class="jxr_javadoccomment"> * @param force force flag.</em>
-<a class="jxr_linenumber" name="L382" href="#L382">382</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L383" href="#L383">383</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setForce(<strong class="jxr_keyword">boolean</strong> force) {
-<a class="jxr_linenumber" name="L384" href="#L384">384</a> isForced = force;
-<a class="jxr_linenumber" name="L385" href="#L385">385</a> }
-<a class="jxr_linenumber" name="L386" href="#L386">386</a>
-<a class="jxr_linenumber" name="L387" href="#L387">387</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L388" href="#L388">388</a> <em class="jxr_javadoccomment"> * @param document document to extract from.</em>
-<a class="jxr_linenumber" name="L389" href="#L389">389</a> <em class="jxr_javadoccomment"> * @return Get the license header of a document.</em>
+<a class="jxr_linenumber" name="L328" href="#L328">328</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (expectsXMLDecl && line.startsWith(<span class="jxr_string">"<?xml "</span>)) {
+<a class="jxr_linenumber" name="L329" href="#L329">329</a> written = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L330" href="#L330">330</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L331" href="#L331">331</a> writer.write(getLicenseHeader(document));
+<a class="jxr_linenumber" name="L332" href="#L332">332</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L333" href="#L333">333</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (expectsPhpPI && line.startsWith(<span class="jxr_string">"<?php"</span>)) {
+<a class="jxr_linenumber" name="L334" href="#L334">334</a> written = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L335" href="#L335">335</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L336" href="#L336">336</a> writer.write(getLicenseHeader(document));
+<a class="jxr_linenumber" name="L337" href="#L337">337</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L338" href="#L338">338</a> }
+<a class="jxr_linenumber" name="L339" href="#L339">339</a> first = false;
+<a class="jxr_linenumber" name="L340" href="#L340">340</a> }
+<a class="jxr_linenumber" name="L341" href="#L341">341</a> } <strong class="jxr_keyword">finally</strong> {
+<a class="jxr_linenumber" name="L342" href="#L342">342</a> IOUtils.closeQuietly(br);
+<a class="jxr_linenumber" name="L343" href="#L343">343</a> IOUtils.closeQuietly(fis);
+<a class="jxr_linenumber" name="L344" href="#L344">344</a> IOUtils.closeQuietly(writer);
+<a class="jxr_linenumber" name="L345" href="#L345">345</a> }
+<a class="jxr_linenumber" name="L346" href="#L346">346</a> <strong class="jxr_keyword">return</strong> written;
+<a class="jxr_linenumber" name="L347" href="#L347">347</a> }
+<a class="jxr_linenumber" name="L348" href="#L348">348</a>
+<a class="jxr_linenumber" name="L349" href="#L349">349</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L350" href="#L350">350</a> <em class="jxr_javadoccomment"> * Check first line for specified text and process.</em>
+<a class="jxr_linenumber" name="L351" href="#L351">351</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L352" href="#L352">352</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doFirstLine(File document, Writer writer, String line, String lookfor) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L353" href="#L353">353</a> <strong class="jxr_keyword">if</strong> (line.startsWith(lookfor)) {
+<a class="jxr_linenumber" name="L354" href="#L354">354</a> writer.write(line);
+<a class="jxr_linenumber" name="L355" href="#L355">355</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L356" href="#L356">356</a> writer.write(getLicenseHeader(document));
+<a class="jxr_linenumber" name="L357" href="#L357">357</a> } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L358" href="#L358">358</a> writer.write(getLicenseHeader(document));
+<a class="jxr_linenumber" name="L359" href="#L359">359</a> writer.write(line);
+<a class="jxr_linenumber" name="L360" href="#L360">360</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L361" href="#L361">361</a> }
+<a class="jxr_linenumber" name="L362" href="#L362">362</a> }
+<a class="jxr_linenumber" name="L363" href="#L363">363</a>
+<a class="jxr_linenumber" name="L364" href="#L364">364</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L365" href="#L365">365</a> <em class="jxr_javadoccomment"> * Detect the type of document.</em>
+<a class="jxr_linenumber" name="L366" href="#L366">366</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L367" href="#L367">367</a> <em class="jxr_javadoccomment"> * @param document to retrieve type from.</em>
+<a class="jxr_linenumber" name="L368" href="#L368">368</a> <em class="jxr_javadoccomment"> * @return not null</em>
+<a class="jxr_linenumber" name="L369" href="#L369">369</a> <em class="jxr_javadoccomment"> * TODO use existing mechanism to detect the type of a file and record it in the report output, thus we will not need this duplication here.</em>
+<a class="jxr_linenumber" name="L370" href="#L370">370</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L371" href="#L371">371</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> getType(File document) {
+<a class="jxr_linenumber" name="L372" href="#L372">372</a> String path = document.getPath();
+<a class="jxr_linenumber" name="L373" href="#L373">373</a> <strong class="jxr_keyword">int</strong> lastDot = path.lastIndexOf(DOT);
+<a class="jxr_linenumber" name="L374" href="#L374">374</a> <strong class="jxr_keyword">if</strong> (lastDot >= 0 && lastDot < path.length() - 1) {
+<a class="jxr_linenumber" name="L375" href="#L375">375</a> String ext = path.substring(lastDot + 1);
+<a class="jxr_linenumber" name="L376" href="#L376">376</a> Integer type = EXT2TYPE.get(ext);
+<a class="jxr_linenumber" name="L377" href="#L377">377</a> <strong class="jxr_keyword">if</strong> (type != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L378" href="#L378">378</a> <strong class="jxr_keyword">return</strong> type;
+<a class="jxr_linenumber" name="L379" href="#L379">379</a> }
+<a class="jxr_linenumber" name="L380" href="#L380">380</a> }
+<a class="jxr_linenumber" name="L381" href="#L381">381</a> <strong class="jxr_keyword">return</strong> TYPE_UNKNOWN;
+<a class="jxr_linenumber" name="L382" href="#L382">382</a> }
+<a class="jxr_linenumber" name="L383" href="#L383">383</a>
+<a class="jxr_linenumber" name="L384" href="#L384">384</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L385" href="#L385">385</a> <em class="jxr_javadoccomment"> * Set the force flag on this appender. If this flag is set</em>
+<a class="jxr_linenumber" name="L386" href="#L386">386</a> <em class="jxr_javadoccomment"> * to true then files will be modified directly, otherwise</em>
+<a class="jxr_linenumber" name="L387" href="#L387">387</a> <em class="jxr_javadoccomment"> * new files will be created alongside the existing files.</em>
+<a class="jxr_linenumber" name="L388" href="#L388">388</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L389" href="#L389">389</a> <em class="jxr_javadoccomment"> * @param force force flag.</em>
<a class="jxr_linenumber" name="L390" href="#L390">390</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L391" href="#L391">391</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> String getLicenseHeader(File document);
-<a class="jxr_linenumber" name="L392" href="#L392">392</a>
-<a class="jxr_linenumber" name="L393" href="#L393">393</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L394" href="#L394">394</a> <em class="jxr_javadoccomment"> * Get the first line of the license header formatted</em>
-<a class="jxr_linenumber" name="L395" href="#L395">395</a> <em class="jxr_javadoccomment"> * for the given type of file.</em>
-<a class="jxr_linenumber" name="L396" href="#L396">396</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L397" href="#L397">397</a> <em class="jxr_javadoccomment"> * @param type the type of file, see the TYPE_* constants</em>
-<a class="jxr_linenumber" name="L398" href="#L398">398</a> <em class="jxr_javadoccomment"> * @return not null</em>
-<a class="jxr_linenumber" name="L399" href="#L399">399</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L400" href="#L400">400</a> <strong class="jxr_keyword">protected</strong> String getFirstLine(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L401" href="#L401">401</a> <strong class="jxr_keyword">if</strong> (isFamilyC(type)) {
-<a class="jxr_linenumber" name="L402" href="#L402">402</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"/*"</span> + LINE_SEP;
-<a class="jxr_linenumber" name="L403" href="#L403">403</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilySGML(type)) {
-<a class="jxr_linenumber" name="L404" href="#L404">404</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"<!--"</span> + LINE_SEP;
-<a class="jxr_linenumber" name="L405" href="#L405">405</a> }
-<a class="jxr_linenumber" name="L406" href="#L406">406</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="L407" href="#L407">407</a> }
-<a class="jxr_linenumber" name="L408" href="#L408">408</a>
-<a class="jxr_linenumber" name="L409" href="#L409">409</a>
-<a class="jxr_linenumber" name="L410" href="#L410">410</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L411" href="#L411">411</a> <em class="jxr_javadoccomment"> * Get the last line of the license header formatted</em>
-<a class="jxr_linenumber" name="L412" href="#L412">412</a> <em class="jxr_javadoccomment"> * for the given type of file.</em>
-<a class="jxr_linenumber" name="L413" href="#L413">413</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L414" href="#L414">414</a> <em class="jxr_javadoccomment"> * @param type the type of file, see the TYPE_* constants</em>
-<a class="jxr_linenumber" name="L415" href="#L415">415</a> <em class="jxr_javadoccomment"> * @return not null</em>
-<a class="jxr_linenumber" name="L416" href="#L416">416</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L417" href="#L417">417</a> <strong class="jxr_keyword">protected</strong> String getLastLine(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L418" href="#L418">418</a> <strong class="jxr_keyword">if</strong> (isFamilyC(type)) {
-<a class="jxr_linenumber" name="L419" href="#L419">419</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">" */"</span> + LINE_SEP;
-<a class="jxr_linenumber" name="L420" href="#L420">420</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilySGML(type)) {
-<a class="jxr_linenumber" name="L421" href="#L421">421</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"-->"</span> + LINE_SEP;
-<a class="jxr_linenumber" name="L422" href="#L422">422</a> }
-<a class="jxr_linenumber" name="L423" href="#L423">423</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="L424" href="#L424">424</a> }
-<a class="jxr_linenumber" name="L425" href="#L425">425</a>
-<a class="jxr_linenumber" name="L426" href="#L426">426</a>
-<a class="jxr_linenumber" name="L427" href="#L427">427</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L428" href="#L428">428</a> <em class="jxr_javadoccomment"> * Get a line of the license header formatted</em>
-<a class="jxr_linenumber" name="L429" href="#L429">429</a> <em class="jxr_javadoccomment"> * for the given type of file.</em>
-<a class="jxr_linenumber" name="L430" href="#L430">430</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L431" href="#L431">431</a> <em class="jxr_javadoccomment"> * @param type the type of file, see the TYPE_* constants</em>
-<a class="jxr_linenumber" name="L432" href="#L432">432</a> <em class="jxr_javadoccomment"> * @param content the content for this line</em>
-<a class="jxr_linenumber" name="L433" href="#L433">433</a> <em class="jxr_javadoccomment"> * @return not null</em>
-<a class="jxr_linenumber" name="L434" href="#L434">434</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L435" href="#L435">435</a> <strong class="jxr_keyword">protected</strong> String getLine(<strong class="jxr_keyword">int</strong> type, String content) {
-<a class="jxr_linenumber" name="L436" href="#L436">436</a> <strong class="jxr_keyword">if</strong> (isFamilyC(type)) {
-<a class="jxr_linenumber" name="L437" href="#L437">437</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">" * "</span> + content + LINE_SEP;
-<a class="jxr_linenumber" name="L438" href="#L438">438</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilySGML(type)) {
-<a class="jxr_linenumber" name="L439" href="#L439">439</a> <strong class="jxr_keyword">return</strong> content + LINE_SEP;
-<a class="jxr_linenumber" name="L440" href="#L440">440</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilyAPT(type)) {
-<a class="jxr_linenumber" name="L441" href="#L441">441</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"~~ "</span> + content + LINE_SEP;
-<a class="jxr_linenumber" name="L442" href="#L442">442</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilySH(type)) {
-<a class="jxr_linenumber" name="L443" href="#L443">443</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"# "</span> + content + LINE_SEP;
-<a class="jxr_linenumber" name="L444" href="#L444">444</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilyBAT(type)) {
-<a class="jxr_linenumber" name="L445" href="#L445">445</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"rem "</span> + content + LINE_SEP;
-<a class="jxr_linenumber" name="L446" href="#L446">446</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilyVelocity(type)) {
-<a class="jxr_linenumber" name="L447" href="#L447">447</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"## "</span> + content + LINE_SEP;
-<a class="jxr_linenumber" name="L448" href="#L448">448</a> }
-<a class="jxr_linenumber" name="L449" href="#L449">449</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="L450" href="#L450">450</a> }
-<a class="jxr_linenumber" name="L451" href="#L451">451</a>
-<a class="jxr_linenumber" name="L452" href="#L452">452</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilyC(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L453" href="#L453">453</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_C, type);
-<a class="jxr_linenumber" name="L454" href="#L454">454</a> }
-<a class="jxr_linenumber" name="L455" href="#L455">455</a>
-<a class="jxr_linenumber" name="L456" href="#L456">456</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilySGML(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L457" href="#L457">457</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_SGML, type);
+<a class="jxr_linenumber" name="L391" href="#L391">391</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setForce(<strong class="jxr_keyword">boolean</strong> force) {
+<a class="jxr_linenumber" name="L392" href="#L392">392</a> isForced = force;
+<a class="jxr_linenumber" name="L393" href="#L393">393</a> }
+<a class="jxr_linenumber" name="L394" href="#L394">394</a>
+<a class="jxr_linenumber" name="L395" href="#L395">395</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L396" href="#L396">396</a> <em class="jxr_javadoccomment"> * @param document document to extract from.</em>
+<a class="jxr_linenumber" name="L397" href="#L397">397</a> <em class="jxr_javadoccomment"> * @return Get the license header of a document.</em>
+<a class="jxr_linenumber" name="L398" href="#L398">398</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L399" href="#L399">399</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> String getLicenseHeader(File document);
+<a class="jxr_linenumber" name="L400" href="#L400">400</a>
+<a class="jxr_linenumber" name="L401" href="#L401">401</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L402" href="#L402">402</a> <em class="jxr_javadoccomment"> * Get the first line of the license header formatted</em>
+<a class="jxr_linenumber" name="L403" href="#L403">403</a> <em class="jxr_javadoccomment"> * for the given type of file.</em>
+<a class="jxr_linenumber" name="L404" href="#L404">404</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L405" href="#L405">405</a> <em class="jxr_javadoccomment"> * @param type the type of file, see the TYPE_* constants</em>
+<a class="jxr_linenumber" name="L406" href="#L406">406</a> <em class="jxr_javadoccomment"> * @return not null</em>
+<a class="jxr_linenumber" name="L407" href="#L407">407</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L408" href="#L408">408</a> <strong class="jxr_keyword">protected</strong> String getFirstLine(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L409" href="#L409">409</a> <strong class="jxr_keyword">if</strong> (isFamilyC(type)) {
+<a class="jxr_linenumber" name="L410" href="#L410">410</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"/*"</span> + LINE_SEP;
+<a class="jxr_linenumber" name="L411" href="#L411">411</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilySGML(type)) {
+<a class="jxr_linenumber" name="L412" href="#L412">412</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"<!--"</span> + LINE_SEP;
+<a class="jxr_linenumber" name="L413" href="#L413">413</a> }
+<a class="jxr_linenumber" name="L414" href="#L414">414</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="L415" href="#L415">415</a> }
+<a class="jxr_linenumber" name="L416" href="#L416">416</a>
+<a class="jxr_linenumber" name="L417" href="#L417">417</a>
+<a class="jxr_linenumber" name="L418" href="#L418">418</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L419" href="#L419">419</a> <em class="jxr_javadoccomment"> * Get the last line of the license header formatted</em>
+<a class="jxr_linenumber" name="L420" href="#L420">420</a> <em class="jxr_javadoccomment"> * for the given type of file.</em>
+<a class="jxr_linenumber" name="L421" href="#L421">421</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L422" href="#L422">422</a> <em class="jxr_javadoccomment"> * @param type the type of file, see the TYPE_* constants</em>
+<a class="jxr_linenumber" name="L423" href="#L423">423</a> <em class="jxr_javadoccomment"> * @return not null</em>
+<a class="jxr_linenumber" name="L424" href="#L424">424</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L425" href="#L425">425</a> <strong class="jxr_keyword">protected</strong> String getLastLine(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L426" href="#L426">426</a> <strong class="jxr_keyword">if</strong> (isFamilyC(type)) {
+<a class="jxr_linenumber" name="L427" href="#L427">427</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">" */"</span> + LINE_SEP;
+<a class="jxr_linenumber" name="L428" href="#L428">428</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilySGML(type)) {
+<a class="jxr_linenumber" name="L429" href="#L429">429</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"-->"</span> + LINE_SEP;
+<a class="jxr_linenumber" name="L430" href="#L430">430</a> }
+<a class="jxr_linenumber" name="L431" href="#L431">431</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="L432" href="#L432">432</a> }
+<a class="jxr_linenumber" name="L433" href="#L433">433</a>
+<a class="jxr_linenumber" name="L434" href="#L434">434</a>
+<a class="jxr_linenumber" name="L435" href="#L435">435</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L436" href="#L436">436</a> <em class="jxr_javadoccomment"> * Get a line of the license header formatted</em>
+<a class="jxr_linenumber" name="L437" href="#L437">437</a> <em class="jxr_javadoccomment"> * for the given type of file.</em>
+<a class="jxr_linenumber" name="L438" href="#L438">438</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L439" href="#L439">439</a> <em class="jxr_javadoccomment"> * @param type the type of file, see the TYPE_* constants</em>
+<a class="jxr_linenumber" name="L440" href="#L440">440</a> <em class="jxr_javadoccomment"> * @param content the content for this line</em>
+<a class="jxr_linenumber" name="L441" href="#L441">441</a> <em class="jxr_javadoccomment"> * @return not null</em>
+<a class="jxr_linenumber" name="L442" href="#L442">442</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L443" href="#L443">443</a> <strong class="jxr_keyword">protected</strong> String getLine(<strong class="jxr_keyword">int</strong> type, String content) {
+<a class="jxr_linenumber" name="L444" href="#L444">444</a> <strong class="jxr_keyword">if</strong> (isFamilyC(type)) {
+<a class="jxr_linenumber" name="L445" href="#L445">445</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">" * "</span> + content + LINE_SEP;
+<a class="jxr_linenumber" name="L446" href="#L446">446</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilySGML(type)) {
+<a class="jxr_linenumber" name="L447" href="#L447">447</a> <strong class="jxr_keyword">return</strong> content + LINE_SEP;
+<a class="jxr_linenumber" name="L448" href="#L448">448</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilyAPT(type)) {
+<a class="jxr_linenumber" name="L449" href="#L449">449</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"~~ "</span> + content + LINE_SEP;
+<a class="jxr_linenumber" name="L450" href="#L450">450</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilySH(type)) {
+<a class="jxr_linenumber" name="L451" href="#L451">451</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"# "</span> + content + LINE_SEP;
+<a class="jxr_linenumber" name="L452" href="#L452">452</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilyBAT(type)) {
+<a class="jxr_linenumber" name="L453" href="#L453">453</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"rem "</span> + content + LINE_SEP;
+<a class="jxr_linenumber" name="L454" href="#L454">454</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isFamilyVelocity(type)) {
+<a class="jxr_linenumber" name="L455" href="#L455">455</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"## "</span> + content + LINE_SEP;
+<a class="jxr_linenumber" name="L456" href="#L456">456</a> }
+<a class="jxr_linenumber" name="L457" href="#L457">457</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="L458" href="#L458">458</a> }
<a class="jxr_linenumber" name="L459" href="#L459">459</a>
-<a class="jxr_linenumber" name="L460" href="#L460">460</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilySH(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L461" href="#L461">461</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_SH, type);
+<a class="jxr_linenumber" name="L460" href="#L460">460</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilyC(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L461" href="#L461">461</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_C, type);
<a class="jxr_linenumber" name="L462" href="#L462">462</a> }
<a class="jxr_linenumber" name="L463" href="#L463">463</a>
-<a class="jxr_linenumber" name="L464" href="#L464">464</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilyAPT(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L465" href="#L465">465</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_APT, type);
+<a class="jxr_linenumber" name="L464" href="#L464">464</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilySGML(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L465" href="#L465">465</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_SGML, type);
<a class="jxr_linenumber" name="L466" href="#L466">466</a> }
<a class="jxr_linenumber" name="L467" href="#L467">467</a>
-<a class="jxr_linenumber" name="L468" href="#L468">468</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilyBAT(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L469" href="#L469">469</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_BAT, type);
+<a class="jxr_linenumber" name="L468" href="#L468">468</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilySH(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L469" href="#L469">469</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_SH, type);
<a class="jxr_linenumber" name="L470" href="#L470">470</a> }
<a class="jxr_linenumber" name="L471" href="#L471">471</a>
-<a class="jxr_linenumber" name="L472" href="#L472">472</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilyVelocity(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L473" href="#L473">473</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_VELOCITY, type);
+<a class="jxr_linenumber" name="L472" href="#L472">472</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilyAPT(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L473" href="#L473">473</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_APT, type);
<a class="jxr_linenumber" name="L474" href="#L474">474</a> }
<a class="jxr_linenumber" name="L475" href="#L475">475</a>
-<a class="jxr_linenumber" name="L476" href="#L476">476</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsHashPling(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L477" href="#L477">477</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_HASH_PLING, type);
+<a class="jxr_linenumber" name="L476" href="#L476">476</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilyBAT(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L477" href="#L477">477</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_BAT, type);
<a class="jxr_linenumber" name="L478" href="#L478">478</a> }
<a class="jxr_linenumber" name="L479" href="#L479">479</a>
-<a class="jxr_linenumber" name="L480" href="#L480">480</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsAtEcho(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L481" href="#L481">481</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_AT_ECHO, type);
+<a class="jxr_linenumber" name="L480" href="#L480">480</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isFamilyVelocity(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L481" href="#L481">481</a> <strong class="jxr_keyword">return</strong> isIn(FAMILY_VELOCITY, type);
<a class="jxr_linenumber" name="L482" href="#L482">482</a> }
<a class="jxr_linenumber" name="L483" href="#L483">483</a>
-<a class="jxr_linenumber" name="L484" href="#L484">484</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsPackage(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L485" href="#L485">485</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_PACKAGE, type);
+<a class="jxr_linenumber" name="L484" href="#L484">484</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsHashPling(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L485" href="#L485">485</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_HASH_PLING, type);
<a class="jxr_linenumber" name="L486" href="#L486">486</a> }
<a class="jxr_linenumber" name="L487" href="#L487">487</a>
-<a class="jxr_linenumber" name="L488" href="#L488">488</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsXMLDecl(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L489" href="#L489">489</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_XML_DECL, type);
+<a class="jxr_linenumber" name="L488" href="#L488">488</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsAtEcho(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L489" href="#L489">489</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_AT_ECHO, type);
<a class="jxr_linenumber" name="L490" href="#L490">490</a> }
<a class="jxr_linenumber" name="L491" href="#L491">491</a>
-<a class="jxr_linenumber" name="L492" href="#L492">492</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsPhpPI(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L493" href="#L493">493</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_PHP_PI, type);
+<a class="jxr_linenumber" name="L492" href="#L492">492</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsPackage(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L493" href="#L493">493</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_PACKAGE, type);
<a class="jxr_linenumber" name="L494" href="#L494">494</a> }
<a class="jxr_linenumber" name="L495" href="#L495">495</a>
-<a class="jxr_linenumber" name="L496" href="#L496">496</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsMSVisualStudioSolutionFileHeader(<strong class="jxr_keyword">int</strong> type) {
-<a class="jxr_linenumber" name="L497" href="#L497">497</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_MSVSSF_HEADER, type);
+<a class="jxr_linenumber" name="L496" href="#L496">496</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsXMLDecl(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L497" href="#L497">497</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_XML_DECL, type);
<a class="jxr_linenumber" name="L498" href="#L498">498</a> }
<a class="jxr_linenumber" name="L499" href="#L499">499</a>
-<a class="jxr_linenumber" name="L500" href="#L500">500</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isIn(<strong class="jxr_keyword">int</strong>[] arr, <strong class="jxr_keyword">int</strong> key) {
-<a class="jxr_linenumber" name="L501" href="#L501">501</a> <strong class="jxr_keyword">return</strong> Arrays.binarySearch(arr, key) >= 0;
+<a class="jxr_linenumber" name="L500" href="#L500">500</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsPhpPI(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L501" href="#L501">501</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_PHP_PI, type);
<a class="jxr_linenumber" name="L502" href="#L502">502</a> }
<a class="jxr_linenumber" name="L503" href="#L503">503</a>
-<a class="jxr_linenumber" name="L504" href="#L504">504</a> <strong class="jxr_keyword">private</strong> String passThroughReadNext(Writer writer, String line,
-<a class="jxr_linenumber" name="L505" href="#L505">505</a> BufferedReader br) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L506" href="#L506">506</a> writer.write(line);
-<a class="jxr_linenumber" name="L507" href="#L507">507</a> writer.write(LINE_SEP);
-<a class="jxr_linenumber" name="L508" href="#L508">508</a> String l = br.readLine();
-<a class="jxr_linenumber" name="L509" href="#L509">509</a> <strong class="jxr_keyword">return</strong> l == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : l;
+<a class="jxr_linenumber" name="L504" href="#L504">504</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> expectsMSVisualStudioSolutionFileHeader(<strong class="jxr_keyword">int</strong> type) {
+<a class="jxr_linenumber" name="L505" href="#L505">505</a> <strong class="jxr_keyword">return</strong> isIn(EXPECTS_MSVSSF_HEADER, type);
+<a class="jxr_linenumber" name="L506" href="#L506">506</a> }
+<a class="jxr_linenumber" name="L507" href="#L507">507</a>
+<a class="jxr_linenumber" name="L508" href="#L508">508</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isIn(<strong class="jxr_keyword">int</strong>[] arr, <strong class="jxr_keyword">int</strong> key) {
+<a class="jxr_linenumber" name="L509" href="#L509">509</a> <strong class="jxr_keyword">return</strong> Arrays.binarySearch(arr, key) >= 0;
<a class="jxr_linenumber" name="L510" href="#L510">510</a> }
-<a class="jxr_linenumber" name="L511" href="#L511">511</a> }
-<a class="jxr_linenumber" name="L512" href="#L512">512</a>
-<a class="jxr_linenumber" name="L513" href="#L513">513</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L514" href="#L514">514</a> <em class="jxr_javadoccomment"> * Stripped down version of Commons IO 2.0's BOMInputStream.</em>
-<a class="jxr_linenumber" name="L515" href="#L515">515</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L516" href="#L516">516</a> <strong class="jxr_keyword">class</strong> <a name="BOMInputStream" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#BOMInputStream">BOMInputStream</a> <strong class="jxr_keyword">extends</strong> FilterInputStream {
-<a class="jxr_linenumber" name="L517" href="#L517">517</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong>[] firstBytes;
-<a class="jxr_linenumber" name="L518" href="#L518">518</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> fbLength, fbIndex, markFbIndex;
-<a class="jxr_linenumber" name="L519" href="#L519">519</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> markedAtStart;
-<a class="jxr_linenumber" name="L520" href="#L520">520</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[][] BOMS = {
-<a class="jxr_linenumber" name="L521" href="#L521">521</a> <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{0xEF, 0xBB, 0xBF}, <em class="jxr_comment">// UTF-8</em>
-<a class="jxr_linenumber" name="L522" href="#L522">522</a> <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{0xFE, 0xFF}, <em class="jxr_comment">// UTF-16BE</em>
-<a class="jxr_linenumber" name="L523" href="#L523">523</a> <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{0xFF, 0xFE}, <em class="jxr_comment">// UTF-16LE</em>
-<a class="jxr_linenumber" name="L524" href="#L524">524</a> };
-<a class="jxr_linenumber" name="L525" href="#L525">525</a>
-<a class="jxr_linenumber" name="L526" href="#L526">526</a> <a name="BOMInputStream" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#BOMInputStream">BOMInputStream</a>(InputStream s) {
-<a class="jxr_linenumber" name="L527" href="#L527">527</a> <strong class="jxr_keyword">super</strong>(s);
-<a class="jxr_linenumber" name="L528" href="#L528">528</a> }
-<a class="jxr_linenumber" name="L529" href="#L529">529</a>
-<a class="jxr_linenumber" name="L530" href="#L530">530</a> @Override
-<a class="jxr_linenumber" name="L531" href="#L531">531</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> read() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L532" href="#L532">532</a> <strong class="jxr_keyword">int</strong> b = readFirstBytes();
-<a class="jxr_linenumber" name="L533" href="#L533">533</a> <strong class="jxr_keyword">return</strong> (b >= 0) ? b : in.read();
-<a class="jxr_linenumber" name="L534" href="#L534">534</a> }
-<a class="jxr_linenumber" name="L535" href="#L535">535</a>
-<a class="jxr_linenumber" name="L536" href="#L536">536</a> @Override
-<a class="jxr_linenumber" name="L537" href="#L537">537</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> read(byte[] buf, <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">int</strong> len) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L538" href="#L538">538</a> <strong class="jxr_keyword">int</strong> firstCount = 0;
-<a class="jxr_linenumber" name="L539" href="#L539">539</a> <strong class="jxr_keyword">int</strong> b = 0;
-<a class="jxr_linenumber" name="L540" href="#L540">540</a> <strong class="jxr_keyword">while</strong> ((len > 0) && (b >= 0)) {
-<a class="jxr_linenumber" name="L541" href="#L541">541</a> b = readFirstBytes();
-<a class="jxr_linenumber" name="L542" href="#L542">542</a> <strong class="jxr_keyword">if</strong> (b >= 0) {
-<a class="jxr_linenumber" name="L543" href="#L543">543</a> buf[off++] = (byte) (b & 0xFF);
-<a class="jxr_linenumber" name="L544" href="#L544">544</a> len--;
-<a class="jxr_linenumber" name="L545" href="#L545">545</a> firstCount++;
-<a class="jxr_linenumber" name="L546" href="#L546">546</a> }
-<a class="jxr_linenumber" name="L547" href="#L547">547</a> }
-<a class="jxr_linenumber" name="L548" href="#L548">548</a> <strong class="jxr_keyword">int</strong> secondCount = in.read(buf, off, len);
-<a class="jxr_linenumber" name="L549" href="#L549">549</a> <strong class="jxr_keyword">return</strong> (secondCount < 0)
-<a class="jxr_linenumber" name="L550" href="#L550">550</a> ? (firstCount > 0 ? firstCount : -1) : firstCount + secondCount;
-<a class="jxr_linenumber" name="L551" href="#L551">551</a> }
-<a class="jxr_linenumber" name="L552" href="#L552">552</a>
-<a class="jxr_linenumber" name="L553" href="#L553">553</a> @Override
-<a class="jxr_linenumber" name="L554" href="#L554">554</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> read(byte[] buf) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L555" href="#L555">555</a> <strong class="jxr_keyword">return</strong> read(buf, 0, buf.length);
-<a class="jxr_linenumber" name="L556" href="#L556">556</a> }
-<a class="jxr_linenumber" name="L557" href="#L557">557</a>
-<a class="jxr_linenumber" name="L558" href="#L558">558</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> readFirstBytes() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L559" href="#L559">559</a> getBOM();
-<a class="jxr_linenumber" name="L560" href="#L560">560</a> <strong class="jxr_keyword">return</strong> (fbIndex < fbLength) ? firstBytes[fbIndex++] : -1;
-<a class="jxr_linenumber" name="L561" href="#L561">561</a> }
-<a class="jxr_linenumber" name="L562" href="#L562">562</a>
-<a class="jxr_linenumber" name="L563" href="#L563">563</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> getBOM() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L564" href="#L564">564</a> <strong class="jxr_keyword">if</strong> (firstBytes == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L565" href="#L565">565</a> <strong class="jxr_keyword">int</strong> max = 0;
-<a class="jxr_linenumber" name="L566" href="#L566">566</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong>[] BOM : BOMS) {
-<a class="jxr_linenumber" name="L567" href="#L567">567</a> max = Math.max(max, BOM.length);
-<a class="jxr_linenumber" name="L568" href="#L568">568</a> }
-<a class="jxr_linenumber" name="L569" href="#L569">569</a> firstBytes = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[max];
-<a class="jxr_linenumber" name="L570" href="#L570">570</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i < firstBytes.length; i++) {
-<a class="jxr_linenumber" name="L571" href="#L571">571</a> firstBytes[i] = in.read();
-<a class="jxr_linenumber" name="L572" href="#L572">572</a> fbLength++;
-<a class="jxr_linenumber" name="L573" href="#L573">573</a> <strong class="jxr_keyword">if</strong> (firstBytes[i] < 0) {
-<a class="jxr_linenumber" name="L574" href="#L574">574</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L575" href="#L575">575</a> }
-<a class="jxr_linenumber" name="L576" href="#L576">576</a>
-<a class="jxr_linenumber" name="L577" href="#L577">577</a> <strong class="jxr_keyword">boolean</strong> found = find();
-<a class="jxr_linenumber" name="L578" href="#L578">578</a> <strong class="jxr_keyword">if</strong> (found) {
-<a class="jxr_linenumber" name="L579" href="#L579">579</a> fbLength = 0;
-<a class="jxr_linenumber" name="L580" href="#L580">580</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L581" href="#L581">581</a> }
-<a class="jxr_linenumber" name="L582" href="#L582">582</a> }
-<a class="jxr_linenumber" name="L583" href="#L583">583</a> }
-<a class="jxr_linenumber" name="L584" href="#L584">584</a> }
-<a class="jxr_linenumber" name="L585" href="#L585">585</a>
-<a class="jxr_linenumber" name="L586" href="#L586">586</a> @Override
-<a class="jxr_linenumber" name="L587" href="#L587">587</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> mark(<strong class="jxr_keyword">int</strong> readlimit) {
-<a class="jxr_linenumber" name="L588" href="#L588">588</a> markFbIndex = fbIndex;
-<a class="jxr_linenumber" name="L589" href="#L589">589</a> markedAtStart = (firstBytes == <strong class="jxr_keyword">null</strong>);
-<a class="jxr_linenumber" name="L590" href="#L590">590</a> in.mark(readlimit);
-<a class="jxr_linenumber" name="L591" href="#L591">591</a> }
-<a class="jxr_linenumber" name="L592" href="#L592">592</a>
-<a class="jxr_linenumber" name="L593" href="#L593">593</a> @Override
-<a class="jxr_linenumber" name="L594" href="#L594">594</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> reset() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L595" href="#L595">595</a> fbIndex = markFbIndex;
-<a class="jxr_linenumber" name="L596" href="#L596">596</a> <strong class="jxr_keyword">if</strong> (markedAtStart) {
-<a class="jxr_linenumber" name="L597" href="#L597">597</a> firstBytes = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L598" href="#L598">598</a> }
-<a class="jxr_linenumber" name="L599" href="#L599">599</a>
-<a class="jxr_linenumber" name="L600" href="#L600">600</a> in.reset();
-<a class="jxr_linenumber" name="L601" href="#L601">601</a> }
-<a class="jxr_linenumber" name="L602" href="#L602">602</a>
-<a class="jxr_linenumber" name="L603" href="#L603">603</a> @Override
-<a class="jxr_linenumber" name="L604" href="#L604">604</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> skip(<strong class="jxr_keyword">long</strong> n) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="L605" href="#L605">605</a> <strong class="jxr_keyword">while</strong> ((n > 0) && (readFirstBytes() >= 0)) {
-<a class="jxr_linenumber" name="L606" href="#L606">606</a> n--;
-<a class="jxr_linenumber" name="L607" href="#L607">607</a> }
-<a class="jxr_linenumber" name="L608" href="#L608">608</a> <strong class="jxr_keyword">return</strong> in.skip(n);
+<a class="jxr_linenumber" name="L511" href="#L511">511</a>
+<a class="jxr_linenumber" name="L512" href="#L512">512</a> <strong class="jxr_keyword">private</strong> String passThroughReadNext(Writer writer, String line,
+<a class="jxr_linenumber" name="L513" href="#L513">513</a> BufferedReader br) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L514" href="#L514">514</a> writer.write(line);
+<a class="jxr_linenumber" name="L515" href="#L515">515</a> writer.write(LINE_SEP);
+<a class="jxr_linenumber" name="L516" href="#L516">516</a> String l = br.readLine();
+<a class="jxr_linenumber" name="L517" href="#L517">517</a> <strong class="jxr_keyword">return</strong> l == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : l;
+<a class="jxr_linenumber" name="L518" href="#L518">518</a> }
+<a class="jxr_linenumber" name="L519" href="#L519">519</a> }
+<a class="jxr_linenumber" name="L520" href="#L520">520</a>
+<a class="jxr_linenumber" name="L521" href="#L521">521</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L522" href="#L522">522</a> <em class="jxr_javadoccomment"> * Stripped down version of Commons IO 2.0's BOMInputStream.</em>
+<a class="jxr_linenumber" name="L523" href="#L523">523</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L524" href="#L524">524</a> <strong class="jxr_keyword">class</strong> <a name="BOMInputStream" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#BOMInputStream">BOMInputStream</a> <strong class="jxr_keyword">extends</strong> FilterInputStream {
+<a class="jxr_linenumber" name="L525" href="#L525">525</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong>[] firstBytes;
+<a class="jxr_linenumber" name="L526" href="#L526">526</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> fbLength, fbIndex, markFbIndex;
+<a class="jxr_linenumber" name="L527" href="#L527">527</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> markedAtStart;
+<a class="jxr_linenumber" name="L528" href="#L528">528</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[][] BOMS = {
+<a class="jxr_linenumber" name="L529" href="#L529">529</a> <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{0xEF, 0xBB, 0xBF}, <em class="jxr_comment">// UTF-8</em>
+<a class="jxr_linenumber" name="L530" href="#L530">530</a> <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{0xFE, 0xFF}, <em class="jxr_comment">// UTF-16BE</em>
+<a class="jxr_linenumber" name="L531" href="#L531">531</a> <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{0xFF, 0xFE}, <em class="jxr_comment">// UTF-16LE</em>
+<a class="jxr_linenumber" name="L532" href="#L532">532</a> };
+<a class="jxr_linenumber" name="L533" href="#L533">533</a>
+<a class="jxr_linenumber" name="L534" href="#L534">534</a> <a name="BOMInputStream" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#BOMInputStream">BOMInputStream</a>(InputStream s) {
+<a class="jxr_linenumber" name="L535" href="#L535">535</a> <strong class="jxr_keyword">super</strong>(s);
+<a class="jxr_linenumber" name="L536" href="#L536">536</a> }
+<a class="jxr_linenumber" name="L537" href="#L537">537</a>
+<a class="jxr_linenumber" name="L538" href="#L538">538</a> @Override
+<a class="jxr_linenumber" name="L539" href="#L539">539</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> read() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L540" href="#L540">540</a> <strong class="jxr_keyword">int</strong> b = readFirstBytes();
+<a class="jxr_linenumber" name="L541" href="#L541">541</a> <strong class="jxr_keyword">return</strong> (b >= 0) ? b : in.read();
+<a class="jxr_linenumber" name="L542" href="#L542">542</a> }
+<a class="jxr_linenumber" name="L543" href="#L543">543</a>
+<a class="jxr_linenumber" name="L544" href="#L544">544</a> @Override
+<a class="jxr_linenumber" name="L545" href="#L545">545</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> read(byte[] buf, <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">int</strong> len) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L546" href="#L546">546</a> <strong class="jxr_keyword">int</strong> firstCount = 0;
+<a class="jxr_linenumber" name="L547" href="#L547">547</a> <strong class="jxr_keyword">int</strong> b = 0;
+<a class="jxr_linenumber" name="L548" href="#L548">548</a> <strong class="jxr_keyword">while</strong> ((len > 0) && (b >= 0)) {
+<a class="jxr_linenumber" name="L549" href="#L549">549</a> b = readFirstBytes();
+<a class="jxr_linenumber" name="L550" href="#L550">550</a> <strong class="jxr_keyword">if</strong> (b >= 0) {
+<a class="jxr_linenumber" name="L551" href="#L551">551</a> buf[off++] = (byte) (b & 0xFF);
+<a class="jxr_linenumber" name="L552" href="#L552">552</a> len--;
+<a class="jxr_linenumber" name="L553" href="#L553">553</a> firstCount++;
+<a class="jxr_linenumber" name="L554" href="#L554">554</a> }
+<a class="jxr_linenumber" name="L555" href="#L555">555</a> }
+<a class="jxr_linenumber" name="L556" href="#L556">556</a> <strong class="jxr_keyword">int</strong> secondCount = in.read(buf, off, len);
+<a class="jxr_linenumber" name="L557" href="#L557">557</a> <strong class="jxr_keyword">return</strong> (secondCount < 0)
+<a class="jxr_linenumber" name="L558" href="#L558">558</a> ? (firstCount > 0 ? firstCount : -1) : firstCount + secondCount;
+<a class="jxr_linenumber" name="L559" href="#L559">559</a> }
+<a class="jxr_linenumber" name="L560" href="#L560">560</a>
+<a class="jxr_linenumber" name="L561" href="#L561">561</a> @Override
+<a class="jxr_linenumber" name="L562" href="#L562">562</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> read(byte[] buf) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L563" href="#L563">563</a> <strong class="jxr_keyword">return</strong> read(buf, 0, buf.length);
+<a class="jxr_linenumber" name="L564" href="#L564">564</a> }
+<a class="jxr_linenumber" name="L565" href="#L565">565</a>
+<a class="jxr_linenumber" name="L566" href="#L566">566</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> readFirstBytes() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L567" href="#L567">567</a> getBOM();
+<a class="jxr_linenumber" name="L568" href="#L568">568</a> <strong class="jxr_keyword">return</strong> (fbIndex < fbLength) ? firstBytes[fbIndex++] : -1;
+<a class="jxr_linenumber" name="L569" href="#L569">569</a> }
+<a class="jxr_linenumber" name="L570" href="#L570">570</a>
+<a class="jxr_linenumber" name="L571" href="#L571">571</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> getBOM() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L572" href="#L572">572</a> <strong class="jxr_keyword">if</strong> (firstBytes == <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L573" href="#L573">573</a> <strong class="jxr_keyword">int</strong> max = 0;
+<a class="jxr_linenumber" name="L574" href="#L574">574</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong>[] BOM : BOMS) {
+<a class="jxr_linenumber" name="L575" href="#L575">575</a> max = Math.max(max, BOM.length);
+<a class="jxr_linenumber" name="L576" href="#L576">576</a> }
+<a class="jxr_linenumber" name="L577" href="#L577">577</a> firstBytes = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[max];
+<a class="jxr_linenumber" name="L578" href="#L578">578</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i < firstBytes.length; i++) {
+<a class="jxr_linenumber" name="L579" href="#L579">579</a> firstBytes[i] = in.read();
+<a class="jxr_linenumber" name="L580" href="#L580">580</a> fbLength++;
+<a class="jxr_linenumber" name="L581" href="#L581">581</a> <strong class="jxr_keyword">if</strong> (firstBytes[i] < 0) {
+<a class="jxr_linenumber" name="L582" href="#L582">582</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L583" href="#L583">583</a> }
+<a class="jxr_linenumber" name="L584" href="#L584">584</a>
+<a class="jxr_linenumber" name="L585" href="#L585">585</a> <strong class="jxr_keyword">boolean</strong> found = find();
+<a class="jxr_linenumber" name="L586" href="#L586">586</a> <strong class="jxr_keyword">if</strong> (found) {
+<a class="jxr_linenumber" name="L587" href="#L587">587</a> fbLength = 0;
+<a class="jxr_linenumber" name="L588" href="#L588">588</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L589" href="#L589">589</a> }
+<a class="jxr_linenumber" name="L590" href="#L590">590</a> }
+<a class="jxr_linenumber" name="L591" href="#L591">591</a> }
+<a class="jxr_linenumber" name="L592" href="#L592">592</a> }
+<a class="jxr_linenumber" name="L593" href="#L593">593</a>
+<a class="jxr_linenumber" name="L594" href="#L594">594</a> @Override
+<a class="jxr_linenumber" name="L595" href="#L595">595</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> mark(<strong class="jxr_keyword">int</strong> readlimit) {
+<a class="jxr_linenumber" name="L596" href="#L596">596</a> markFbIndex = fbIndex;
+<a class="jxr_linenumber" name="L597" href="#L597">597</a> markedAtStart = (firstBytes == <strong class="jxr_keyword">null</strong>);
+<a class="jxr_linenumber" name="L598" href="#L598">598</a> in.mark(readlimit);
+<a class="jxr_linenumber" name="L599" href="#L599">599</a> }
+<a class="jxr_linenumber" name="L600" href="#L600">600</a>
+<a class="jxr_linenumber" name="L601" href="#L601">601</a> @Override
+<a class="jxr_linenumber" name="L602" href="#L602">602</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> reset() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L603" href="#L603">603</a> fbIndex = markFbIndex;
+<a class="jxr_linenumber" name="L604" href="#L604">604</a> <strong class="jxr_keyword">if</strong> (markedAtStart) {
+<a class="jxr_linenumber" name="L605" href="#L605">605</a> firstBytes = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L606" href="#L606">606</a> }
+<a class="jxr_linenumber" name="L607" href="#L607">607</a>
+<a class="jxr_linenumber" name="L608" href="#L608">608</a> in.reset();
<a class="jxr_linenumber" name="L609" href="#L609">609</a> }
<a class="jxr_linenumber" name="L610" href="#L610">610</a>
-<a class="jxr_linenumber" name="L611" href="#L611">611</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> find() {
-<a class="jxr_linenumber" name="L612" href="#L612">612</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong>[] BOM : BOMS) {
-<a class="jxr_linenumber" name="L613" href="#L613">613</a> <strong class="jxr_keyword">if</strong> (matches(BOM)) {
-<a class="jxr_linenumber" name="L614" href="#L614">614</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L615" href="#L615">615</a> }
-<a class="jxr_linenumber" name="L616" href="#L616">616</a> }
-<a class="jxr_linenumber" name="L617" href="#L617">617</a> <strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L618" href="#L618">618</a> }
-<a class="jxr_linenumber" name="L619" href="#L619">619</a>
-<a class="jxr_linenumber" name="L620" href="#L620">620</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> matches(<strong class="jxr_keyword">int</strong>[] bom) {
-<a class="jxr_linenumber" name="L621" href="#L621">621</a> <strong class="jxr_keyword">if</strong> (bom.length != fbLength) {
-<a class="jxr_linenumber" name="L622" href="#L622">622</a> <strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L623" href="#L623">623</a> }
-<a class="jxr_linenumber" name="L624" href="#L624">624</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i < bom.length; i++) {
-<a class="jxr_linenumber" name="L625" href="#L625">625</a> <strong class="jxr_keyword">if</strong> (bom[i] != firstBytes[i]) {
-<a class="jxr_linenumber" name="L626" href="#L626">626</a> <strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="L627" href="#L627">627</a> }
-<a class="jxr_linenumber" name="L628" href="#L628">628</a> }
-<a class="jxr_linenumber" name="L629" href="#L629">629</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L630" href="#L630">630</a> }
-<a class="jxr_linenumber" name="L631" href="#L631">631</a>
-<a class="jxr_linenumber" name="L632" href="#L632">632</a> }
+<a class="jxr_linenumber" name="L611" href="#L611">611</a> @Override
+<a class="jxr_linenumber" name="L612" href="#L612">612</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> skip(<strong class="jxr_keyword">long</strong> n) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="L613" href="#L613">613</a> <strong class="jxr_keyword">while</strong> ((n > 0) && (readFirstBytes() >= 0)) {
+<a class="jxr_linenumber" name="L614" href="#L614">614</a> n--;
+<a class="jxr_linenumber" name="L615" href="#L615">615</a> }
+<a class="jxr_linenumber" name="L616" href="#L616">616</a> <strong class="jxr_keyword">return</strong> in.skip(n);
+<a class="jxr_linenumber" name="L617" href="#L617">617</a> }
+<a class="jxr_linenumber" name="L618" href="#L618">618</a>
+<a class="jxr_linenumber" name="L619" href="#L619">619</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> find() {
+<a class="jxr_linenumber" name="L620" href="#L620">620</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong>[] BOM : BOMS) {
+<a class="jxr_linenumber" name="L621" href="#L621">621</a> <strong class="jxr_keyword">if</strong> (matches(BOM)) {
+<a class="jxr_linenumber" name="L622" href="#L622">622</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L623" href="#L623">623</a> }
+<a class="jxr_linenumber" name="L624" href="#L624">624</a> }
+<a class="jxr_linenumber" name="L625" href="#L625">625</a> <strong class="jxr_keyword">return</strong> false;
+<a class="jxr_linenumber" name="L626" href="#L626">626</a> }
+<a class="jxr_linenumber" name="L627" href="#L627">627</a>
+<a class="jxr_linenumber" name="L628" href="#L628">628</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> matches(<strong class="jxr_keyword">int</strong>[] bom) {
+<a class="jxr_linenumber" name="L629" href="#L629">629</a> <strong class="jxr_keyword">if</strong> (bom.length != fbLength) {
+<a class="jxr_linenumber" name="L630" href="#L630">630</a> <strong class="jxr_keyword">return</strong> false;
+<a class="jxr_linenumber" name="L631" href="#L631">631</a> }
+<a class="jxr_linenumber" name="L632" href="#L632">632</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i < bom.length; i++) {
+<a class="jxr_linenumber" name="L633" href="#L633">633</a> <strong class="jxr_keyword">if</strong> (bom[i] != firstBytes[i]) {
+<a class="jxr_linenumber" name="L634" href="#L634">634</a> <strong class="jxr_keyword">return</strong> false;
+<a class="jxr_linenumber" name="L635" href="#L635">635</a> }
+<a class="jxr_linenumber" name="L636" href="#L636">636</a> }
+<a class="jxr_linenumber" name="L637" href="#L637">637</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L638" href="#L638">638</a> }
+<a class="jxr_linenumber" name="L639" href="#L639">639</a>
+<a class="jxr_linenumber" name="L640" href="#L640">640</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/annotation/ApacheV2LicenseAppender.html b/rat0161/apache-rat-core/xref/org/apache/rat/annotation/ApacheV2LicenseAppender.html
index 0c88086e..4cb5d934 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/annotation/ApacheV2LicenseAppender.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/annotation/ApacheV2LicenseAppender.html
@@ -28,82 +28,84 @@
<a class="jxr_linenumber" name="L20" href="#L20">20</a>
<a class="jxr_linenumber" name="L21" href="#L21">21</a> <strong class="jxr_keyword">import</strong> java.io.File;
<a class="jxr_linenumber" name="L22" href="#L22">22</a>
-<a class="jxr_linenumber" name="L23" href="#L23">23</a>
-<a class="jxr_linenumber" name="L24" href="#L24">24</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L25" href="#L25">25</a> <em class="jxr_javadoccomment"> * Add an Apache License V2 license header to a</em>
-<a class="jxr_linenumber" name="L26" href="#L26">26</a> <em class="jxr_javadoccomment"> * document. This appender does not check for the</em>
-<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment"> * existence of an existing license header, it is assumed that either a second</em>
-<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment"> * license header is intentional or that there is no license header present</em>
-<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment"> * already.</em>
-<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="ApacheV2LicenseAppender" href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender">ApacheV2LicenseAppender</a> <strong class="jxr_keyword">extends</strong> <a name="AbstractLicenseAppender" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender">AbstractLic [...]
-<a class="jxr_linenumber" name="L32" href="#L32">32</a>
-<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">private</strong> String copyright;
+<a class="jxr_linenumber" name="L23" href="#L23">23</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.Log;
+<a class="jxr_linenumber" name="L24" href="#L24">24</a>
+<a class="jxr_linenumber" name="L25" href="#L25">25</a>
+<a class="jxr_linenumber" name="L26" href="#L26">26</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment"> * Add an Apache License V2 license header to a</em>
+<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment"> * document. This appender does not check for the</em>
+<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment"> * existence of an existing license header, it is assumed that either a second</em>
+<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * license header is intentional or that there is no license header present</em>
+<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> * already.</em>
+<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="ApacheV2LicenseAppender" href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender">ApacheV2LicenseAppender</a> <strong class="jxr_keyword">extends</strong> <a name="AbstractLicenseAppender" href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender">AbstractLic [...]
<a class="jxr_linenumber" name="L34" href="#L34">34</a>
-<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment"> * Create a license appender with the standard ASF license header.</em>
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">public</strong> <a name="ApacheV2LicenseAppender" href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender">ApacheV2LicenseAppender</a>() {
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">super</strong>();
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> }
-<a class="jxr_linenumber" name="L41" href="#L41">41</a>
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * Create a license appender with the given copyright line. This should be of</em>
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> * the form &quot;Copyright 2008 Foo&quot;</em>
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment"> * @param copyright copyright line.</em>
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">public</strong> <a name="ApacheV2LicenseAppender" href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender">ApacheV2LicenseAppender</a>(String copyright) {
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">super</strong>();
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">this</strong>.copyright = copyright;
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> }
-<a class="jxr_linenumber" name="L52" href="#L52">52</a>
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> @Override
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">public</strong> String getLicenseHeader(File document) {
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">int</strong> type = getType(document);
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">if</strong> (copyright == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> sb.append(getFirstLine(type));
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> sb.append(getLine(type, <span class="jxr_string">"Licensed to the Apache Software Foundation (ASF) under one"</span>));
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> sb.append(getLine(type, <span class="jxr_string">"or more contributor license agreements. See the NOTICE file"</span>));
-<a class="jxr_linenumber" name="L61" href="#L61">61</a> sb.append(getLine(type, <span class="jxr_string">"distributed with this work for additional information"</span>));
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> sb.append(getLine(type, <span class="jxr_string">"regarding copyright ownership. The ASF licenses this file"</span>));
-<a class="jxr_linenumber" name="L63" href="#L63">63</a> sb.append(getLine(type, <span class="jxr_string">"to you under the Apache License, Version 2.0 (the"</span>));
-<a class="jxr_linenumber" name="L64" href="#L64">64</a> sb.append(getLine(type, <span class="jxr_string">"\"License\"); you may not use this file except in compliance"</span>));
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> sb.append(getLine(type, <span class="jxr_string">"with the License. You may obtain a copy of the License at"</span>));
-<a class="jxr_linenumber" name="L66" href="#L66">66</a> sb.append(getLine(type, <span class="jxr_string">""</span>));
-<a class="jxr_linenumber" name="L67" href="#L67">67</a> sb.append(getLine(type, <span class="jxr_string">" http://www.apache.org/licenses/LICENSE-2.0"</span>));
+<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">private</strong> String copyright;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> * Create a license appender with the standard ASF license header.</em>
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">public</strong> <a name="ApacheV2LicenseAppender" href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender">ApacheV2LicenseAppender</a>(<strong class="jxr_keyword">final</strong> <a name="Log" href="../../../../org/apache/rat/utils/Log.html#Log">Log</a> log) {
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">super</strong>(log);
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> }
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> * Create a license appender with the given copyright line. This should be of</em>
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment"> * the form &quot;Copyright 2008 Foo&quot;</em>
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> <em class="jxr_javadoccomment"> * @param copyright copyright line.</em>
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">public</strong> <a name="ApacheV2LicenseAppender" href="../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender">ApacheV2LicenseAppender</a>(<strong class="jxr_keyword">final</strong> <a name="Log" href="../../../../org/apache/rat/utils/Log.html#Log">Log</a> log, String copyright) {
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">super</strong>(log);
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">this</strong>.copyright = copyright;
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> }
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> @Override
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">public</strong> String getLicenseHeader(File document) {
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">int</strong> type = getType(document);
+<a class="jxr_linenumber" name="L58" href="#L58">58</a> StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">if</strong> (copyright == <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> sb.append(getFirstLine(type));
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> sb.append(getLine(type, <span class="jxr_string">"Licensed to the Apache Software Foundation (ASF) under one"</span>));
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> sb.append(getLine(type, <span class="jxr_string">"or more contributor license agreements. See the NOTICE file"</span>));
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> sb.append(getLine(type, <span class="jxr_string">"distributed with this work for additional information"</span>));
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> sb.append(getLine(type, <span class="jxr_string">"regarding copyright ownership. The ASF licenses this file"</span>));
+<a class="jxr_linenumber" name="L65" href="#L65">65</a> sb.append(getLine(type, <span class="jxr_string">"to you under the Apache License, Version 2.0 (the"</span>));
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> sb.append(getLine(type, <span class="jxr_string">"\"License\"); you may not use this file except in compliance"</span>));
+<a class="jxr_linenumber" name="L67" href="#L67">67</a> sb.append(getLine(type, <span class="jxr_string">"with the License. You may obtain a copy of the License at"</span>));
<a class="jxr_linenumber" name="L68" href="#L68">68</a> sb.append(getLine(type, <span class="jxr_string">""</span>));
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> sb.append(getLine(type, <span class="jxr_string">"Unless required by applicable law or agreed to in writing,"</span>));
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> sb.append(getLine(type, <span class="jxr_string">"software distributed under the License is distributed on an"</span>));
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> sb.append(getLine(type, <span class="jxr_string">"\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY"</span>));
-<a class="jxr_linenumber" name="L72" href="#L72">72</a> sb.append(getLine(type, <span class="jxr_string">"KIND, either express or implied. See the License for the"</span>));
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> sb.append(getLine(type, <span class="jxr_string">"specific language governing permissions and limitations"</span>));
-<a class="jxr_linenumber" name="L74" href="#L74">74</a> sb.append(getLine(type, <span class="jxr_string">"under the License."</span>));
-<a class="jxr_linenumber" name="L75" href="#L75">75</a> sb.append(getLastLine(type));
-<a class="jxr_linenumber" name="L76" href="#L76">76</a> } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> sb.append(getFirstLine(type));
-<a class="jxr_linenumber" name="L78" href="#L78">78</a> sb.append(getLine(type, copyright));
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> sb.append(getLine(type, <span class="jxr_string">""</span>));
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> sb.append(getLine(type, <span class="jxr_string">"Licensed under the Apache License, Version 2.0 (the \"License\");"</span>));
-<a class="jxr_linenumber" name="L81" href="#L81">81</a> sb.append(getLine(type, <span class="jxr_string">"you may not use this file except in compliance with the License."</span>));
-<a class="jxr_linenumber" name="L82" href="#L82">82</a> sb.append(getLine(type, <span class="jxr_string">"You may obtain a copy of the License at"</span>));
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> sb.append(getLine(type, <span class="jxr_string">""</span>));
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> sb.append(getLine(type, <span class="jxr_string">" http://www.apache.org/licenses/LICENSE-2.0"</span>));
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> sb.append(getLine(type, <span class="jxr_string">" http://www.apache.org/licenses/LICENSE-2.0"</span>));
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> sb.append(getLine(type, <span class="jxr_string">""</span>));
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> sb.append(getLine(type, <span class="jxr_string">"Unless required by applicable law or agreed to in writing,"</span>));
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> sb.append(getLine(type, <span class="jxr_string">"software distributed under the License is distributed on an"</span>));
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> sb.append(getLine(type, <span class="jxr_string">"\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY"</span>));
+<a class="jxr_linenumber" name="L74" href="#L74">74</a> sb.append(getLine(type, <span class="jxr_string">"KIND, either express or implied. See the License for the"</span>));
+<a class="jxr_linenumber" name="L75" href="#L75">75</a> sb.append(getLine(type, <span class="jxr_string">"specific language governing permissions and limitations"</span>));
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> sb.append(getLine(type, <span class="jxr_string">"under the License."</span>));
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> sb.append(getLastLine(type));
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L79" href="#L79">79</a> sb.append(getFirstLine(type));
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> sb.append(getLine(type, copyright));
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> sb.append(getLine(type, <span class="jxr_string">""</span>));
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> sb.append(getLine(type, <span class="jxr_string">"Licensed under the Apache License, Version 2.0 (the \"License\");"</span>));
+<a class="jxr_linenumber" name="L83" href="#L83">83</a> sb.append(getLine(type, <span class="jxr_string">"you may not use this file except in compliance with the License."</span>));
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> sb.append(getLine(type, <span class="jxr_string">"You may obtain a copy of the License at"</span>));
<a class="jxr_linenumber" name="L85" href="#L85">85</a> sb.append(getLine(type, <span class="jxr_string">""</span>));
-<a class="jxr_linenumber" name="L86" href="#L86">86</a> sb.append(getLine(type, <span class="jxr_string">"Unless required by applicable law or agreed to in writing,"</span>));
-<a class="jxr_linenumber" name="L87" href="#L87">87</a> sb.append(getLine(type, <span class="jxr_string">"software distributed under the License is distributed on an"</span>));
-<a class="jxr_linenumber" name="L88" href="#L88">88</a> sb.append(getLine(type, <span class="jxr_string">"\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY"</span>));
-<a class="jxr_linenumber" name="L89" href="#L89">89</a> sb.append(getLine(type, <span class="jxr_string">"KIND, either express or implied. See the License for the"</span>));
-<a class="jxr_linenumber" name="L90" href="#L90">90</a> sb.append(getLine(type, <span class="jxr_string">"specific language governing permissions and limitations"</span>));
-<a class="jxr_linenumber" name="L91" href="#L91">91</a> sb.append(getLine(type, <span class="jxr_string">"under the License."</span>));
-<a class="jxr_linenumber" name="L92" href="#L92">92</a> sb.append(getLastLine(type));
-<a class="jxr_linenumber" name="L93" href="#L93">93</a> }
-<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">return</strong> sb.toString();
-<a class="jxr_linenumber" name="L95" href="#L95">95</a> }
-<a class="jxr_linenumber" name="L96" href="#L96">96</a>
-<a class="jxr_linenumber" name="L97" href="#L97">97</a>
-<a class="jxr_linenumber" name="L98" href="#L98">98</a> }
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> sb.append(getLine(type, <span class="jxr_string">" http://www.apache.org/licenses/LICENSE-2.0"</span>));
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> sb.append(getLine(type, <span class="jxr_string">""</span>));
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> sb.append(getLine(type, <span class="jxr_string">"Unless required by applicable law or agreed to in writing,"</span>));
+<a class="jxr_linenumber" name="L89" href="#L89">89</a> sb.append(getLine(type, <span class="jxr_string">"software distributed under the License is distributed on an"</span>));
+<a class="jxr_linenumber" name="L90" href="#L90">90</a> sb.append(getLine(type, <span class="jxr_string">"\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY"</span>));
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> sb.append(getLine(type, <span class="jxr_string">"KIND, either express or implied. See the License for the"</span>));
+<a class="jxr_linenumber" name="L92" href="#L92">92</a> sb.append(getLine(type, <span class="jxr_string">"specific language governing permissions and limitations"</span>));
+<a class="jxr_linenumber" name="L93" href="#L93">93</a> sb.append(getLine(type, <span class="jxr_string">"under the License."</span>));
+<a class="jxr_linenumber" name="L94" href="#L94">94</a> sb.append(getLastLine(type));
+<a class="jxr_linenumber" name="L95" href="#L95">95</a> }
+<a class="jxr_linenumber" name="L96" href="#L96">96</a> <strong class="jxr_keyword">return</strong> sb.toString();
+<a class="jxr_linenumber" name="L97" href="#L97">97</a> }
+<a class="jxr_linenumber" name="L98" href="#L98">98</a>
+<a class="jxr_linenumber" name="L99" href="#L99">99</a>
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/api/MetaData.html b/rat0161/apache-rat-core/xref/org/apache/rat/api/MetaData.html
index bc423f70..a3d8b3e0 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/api/MetaData.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/api/MetaData.html
@@ -213,155 +213,156 @@
<a class="jxr_linenumber" name="L205" href="#L205">205</a> <em class="jxr_javadoccomment"> * @param license the license to add metadata for.</em>
<a class="jxr_linenumber" name="L206" href="#L206">206</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L207" href="#L207">207</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> reportOnLicense(<a name="ILicense" href="../../../../org/apache/rat/license/ILicense.html#ILicense">ILicense</a> license) {
-<a class="jxr_linenumber" name="L208" href="#L208">208</a> <strong class="jxr_keyword">if</strong> (StringUtils.isNotBlank(license.getNotes())) {
-<a class="jxr_linenumber" name="L209" href="#L209">209</a> set(<strong class="jxr_keyword">new</strong> MetaData.Datum(MetaData.RAT_URL_HEADER_SAMPLE, license.getNotes()));
-<a class="jxr_linenumber" name="L210" href="#L210">210</a> }
-<a class="jxr_linenumber" name="L211" href="#L211">211</a> set(<strong class="jxr_keyword">new</strong> MetaData.Datum(MetaData.RAT_URL_HEADER_CATEGORY, license.getLicenseFamily().getFamilyCategory()));
-<a class="jxr_linenumber" name="L212" href="#L212">212</a> set(<strong class="jxr_keyword">new</strong> MetaData.Datum(MetaData.RAT_URL_LICENSE_FAMILY_CATEGORY, license.getLicenseFamily().getFamilyCategory()));
-<a class="jxr_linenumber" name="L213" href="#L213">213</a> set(<strong class="jxr_keyword">new</strong> MetaData.Datum(MetaData.RAT_URL_LICENSE_FAMILY_NAME, license.getLicenseFamily().getFamilyName()));
-<a class="jxr_linenumber" name="L214" href="#L214">214</a> }
-<a class="jxr_linenumber" name="L215" href="#L215">215</a>
-<a class="jxr_linenumber" name="L216" href="#L216">216</a>
-<a class="jxr_linenumber" name="L217" href="#L217">217</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L218" href="#L218">218</a> <em class="jxr_javadoccomment"> * Gets all data.</em>
-<a class="jxr_linenumber" name="L219" href="#L219">219</a> <em class="jxr_javadoccomment"> * @return unmodifiable view of the meta data.</em>
-<a class="jxr_linenumber" name="L220" href="#L220">220</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L221" href="#L221">221</a> <strong class="jxr_keyword">public</strong> Collection<Datum> getData() {
-<a class="jxr_linenumber" name="L222" href="#L222">222</a> <strong class="jxr_keyword">return</strong> Collections.unmodifiableCollection(data);
-<a class="jxr_linenumber" name="L223" href="#L223">223</a> }
-<a class="jxr_linenumber" name="L224" href="#L224">224</a>
-<a class="jxr_linenumber" name="L225" href="#L225">225</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L226" href="#L226">226</a> <em class="jxr_javadoccomment"> * Adds a new datum.</em>
-<a class="jxr_linenumber" name="L227" href="#L227">227</a> <em class="jxr_javadoccomment"> * Existing data with the same name are not replaced.</em>
-<a class="jxr_linenumber" name="L228" href="#L228">228</a> <em class="jxr_javadoccomment"> * @param datum datum to add.</em>
-<a class="jxr_linenumber" name="L229" href="#L229">229</a> <em class="jxr_javadoccomment"> * @see #set(org.apache.rat.api.MetaData.Datum)</em>
-<a class="jxr_linenumber" name="L230" href="#L230">230</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L231" href="#L231">231</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> add(<strong class="jxr_keyword">final</strong> Datum datum) {
-<a class="jxr_linenumber" name="L232" href="#L232">232</a> data.add(datum);
-<a class="jxr_linenumber" name="L233" href="#L233">233</a> }
-<a class="jxr_linenumber" name="L234" href="#L234">234</a>
-<a class="jxr_linenumber" name="L235" href="#L235">235</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L236" href="#L236">236</a> <em class="jxr_javadoccomment"> * Puts in a new datum replacing any existing data.</em>
-<a class="jxr_linenumber" name="L237" href="#L237">237</a> <em class="jxr_javadoccomment"> * Any current data matching the name are removed.</em>
-<a class="jxr_linenumber" name="L238" href="#L238">238</a> <em class="jxr_javadoccomment"> * @param datum not null</em>
-<a class="jxr_linenumber" name="L239" href="#L239">239</a> <em class="jxr_javadoccomment"> * @see #add(org.apache.rat.api.MetaData.Datum)</em>
-<a class="jxr_linenumber" name="L240" href="#L240">240</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L241" href="#L241">241</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> set(<strong class="jxr_keyword">final</strong> Datum datum) {
-<a class="jxr_linenumber" name="L242" href="#L242">242</a> clear(datum.getName());
-<a class="jxr_linenumber" name="L243" href="#L243">243</a> add(datum);
-<a class="jxr_linenumber" name="L244" href="#L244">244</a> }
-<a class="jxr_linenumber" name="L245" href="#L245">245</a>
-<a class="jxr_linenumber" name="L246" href="#L246">246</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L247" href="#L247">247</a> <em class="jxr_javadoccomment"> * Gets the first datum matching the given name.</em>
-<a class="jxr_linenumber" name="L248" href="#L248">248</a> <em class="jxr_javadoccomment"> * @param name not null</em>
-<a class="jxr_linenumber" name="L249" href="#L249">249</a> <em class="jxr_javadoccomment"> * @return the matching datum first added when there is any matching data,</em>
-<a class="jxr_linenumber" name="L250" href="#L250">250</a> <em class="jxr_javadoccomment"> * null otherwise</em>
-<a class="jxr_linenumber" name="L251" href="#L251">251</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L252" href="#L252">252</a> <strong class="jxr_keyword">public</strong> Datum get(<strong class="jxr_keyword">final</strong> String name) {
-<a class="jxr_linenumber" name="L253" href="#L253">253</a> Datum result = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L254" href="#L254">254</a> <strong class="jxr_keyword">for</strong> (Datum next : data) {
-<a class="jxr_linenumber" name="L255" href="#L255">255</a> <strong class="jxr_keyword">if</strong> (name.equals(next.getName())) {
-<a class="jxr_linenumber" name="L256" href="#L256">256</a> result = next;
-<a class="jxr_linenumber" name="L257" href="#L257">257</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L258" href="#L258">258</a> }
-<a class="jxr_linenumber" name="L259" href="#L259">259</a> }
-<a class="jxr_linenumber" name="L260" href="#L260">260</a> <strong class="jxr_keyword">return</strong> result;
-<a class="jxr_linenumber" name="L261" href="#L261">261</a> }
-<a class="jxr_linenumber" name="L262" href="#L262">262</a>
-<a class="jxr_linenumber" name="L263" href="#L263">263</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L264" href="#L264">264</a> <em class="jxr_javadoccomment"> * Gets the value of the first datum matching the given name.</em>
-<a class="jxr_linenumber" name="L265" href="#L265">265</a> <em class="jxr_javadoccomment"> * @param name not null</em>
-<a class="jxr_linenumber" name="L266" href="#L266">266</a> <em class="jxr_javadoccomment"> * @return the value of the matchin datum first added when there is any matching data,</em>
-<a class="jxr_linenumber" name="L267" href="#L267">267</a> <em class="jxr_javadoccomment"> * null otherwise</em>
-<a class="jxr_linenumber" name="L268" href="#L268">268</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L269" href="#L269">269</a> <strong class="jxr_keyword">public</strong> String value(<strong class="jxr_keyword">final</strong> String name) {
-<a class="jxr_linenumber" name="L270" href="#L270">270</a> <strong class="jxr_keyword">final</strong> Datum datum = get(name);
-<a class="jxr_linenumber" name="L271" href="#L271">271</a> <strong class="jxr_keyword">final</strong> String result;
-<a class="jxr_linenumber" name="L272" href="#L272">272</a> <strong class="jxr_keyword">if</strong> (datum == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L273" href="#L273">273</a> result = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L274" href="#L274">274</a> } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L275" href="#L275">275</a> result = datum.getValue();
-<a class="jxr_linenumber" name="L276" href="#L276">276</a> }
-<a class="jxr_linenumber" name="L277" href="#L277">277</a> <strong class="jxr_keyword">return</strong> result;
-<a class="jxr_linenumber" name="L278" href="#L278">278</a> }
-<a class="jxr_linenumber" name="L279" href="#L279">279</a>
-<a class="jxr_linenumber" name="L280" href="#L280">280</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L281" href="#L281">281</a> <em class="jxr_javadoccomment"> * Removes all data matching the given name.</em>
-<a class="jxr_linenumber" name="L282" href="#L282">282</a> <em class="jxr_javadoccomment"> * @param name not null</em>
-<a class="jxr_linenumber" name="L283" href="#L283">283</a> <em class="jxr_javadoccomment"> * @return true if any data match, false otherwise</em>
-<a class="jxr_linenumber" name="L284" href="#L284">284</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L285" href="#L285">285</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> clear(<strong class="jxr_keyword">final</strong> String name) {
-<a class="jxr_linenumber" name="L286" href="#L286">286</a> <strong class="jxr_keyword">boolean</strong> dataRemoved = false;
-<a class="jxr_linenumber" name="L287" href="#L287">287</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">final</strong> Iterator<Datum> it = data.iterator();it.hasNext();) {
-<a class="jxr_linenumber" name="L288" href="#L288">288</a> <strong class="jxr_keyword">final</strong> Datum datum = it.next();
-<a class="jxr_linenumber" name="L289" href="#L289">289</a> <strong class="jxr_keyword">if</strong> (datum.getName().equals(name)) {
-<a class="jxr_linenumber" name="L290" href="#L290">290</a> it.remove();
-<a class="jxr_linenumber" name="L291" href="#L291">291</a> dataRemoved = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L292" href="#L292">292</a> }
-<a class="jxr_linenumber" name="L293" href="#L293">293</a> }
-<a class="jxr_linenumber" name="L294" href="#L294">294</a> <strong class="jxr_keyword">return</strong> dataRemoved;
-<a class="jxr_linenumber" name="L295" href="#L295">295</a> }
-<a class="jxr_linenumber" name="L296" href="#L296">296</a>
-<a class="jxr_linenumber" name="L297" href="#L297">297</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L298" href="#L298">298</a> <em class="jxr_javadoccomment"> * Clears all data.</em>
-<a class="jxr_linenumber" name="L299" href="#L299">299</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L300" href="#L300">300</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clear() {
-<a class="jxr_linenumber" name="L301" href="#L301">301</a> data.clear();
-<a class="jxr_linenumber" name="L302" href="#L302">302</a> }
-<a class="jxr_linenumber" name="L303" href="#L303">303</a>
-<a class="jxr_linenumber" name="L304" href="#L304">304</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L305" href="#L305">305</a> <em class="jxr_javadoccomment"> * A datum.</em>
-<a class="jxr_linenumber" name="L306" href="#L306">306</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L307" href="#L307">307</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> Datum {
-<a class="jxr_linenumber" name="L308" href="#L308">308</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String name;
-<a class="jxr_linenumber" name="L309" href="#L309">309</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String value;
-<a class="jxr_linenumber" name="L310" href="#L310">310</a>
-<a class="jxr_linenumber" name="L311" href="#L311">311</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L312" href="#L312">312</a> <em class="jxr_javadoccomment"> * Constructs a datum.</em>
-<a class="jxr_linenumber" name="L313" href="#L313">313</a> <em class="jxr_javadoccomment"> * @param name not null</em>
-<a class="jxr_linenumber" name="L314" href="#L314">314</a> <em class="jxr_javadoccomment"> * @param value not null</em>
-<a class="jxr_linenumber" name="L315" href="#L315">315</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L316" href="#L316">316</a> <strong class="jxr_keyword">public</strong> Datum(<strong class="jxr_keyword">final</strong> String name, <strong class="jxr_keyword">final</strong> String value) {
-<a class="jxr_linenumber" name="L317" href="#L317">317</a> <strong class="jxr_keyword">super</strong>();
-<a class="jxr_linenumber" name="L318" href="#L318">318</a> <strong class="jxr_keyword">this</strong>.name = name;
-<a class="jxr_linenumber" name="L319" href="#L319">319</a> <strong class="jxr_keyword">this</strong>.value = value;
-<a class="jxr_linenumber" name="L320" href="#L320">320</a> }
-<a class="jxr_linenumber" name="L321" href="#L321">321</a>
-<a class="jxr_linenumber" name="L322" href="#L322">322</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L323" href="#L323">323</a> <em class="jxr_javadoccomment"> * Gets the name of the data type.</em>
-<a class="jxr_linenumber" name="L324" href="#L324">324</a> <em class="jxr_javadoccomment"> * To avoid collisions, it is recommended that URLs are used.</em>
-<a class="jxr_linenumber" name="L325" href="#L325">325</a> <em class="jxr_javadoccomment"> * @return not null</em>
-<a class="jxr_linenumber" name="L326" href="#L326">326</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L327" href="#L327">327</a> <strong class="jxr_keyword">public</strong> String getName() {
-<a class="jxr_linenumber" name="L328" href="#L328">328</a> <strong class="jxr_keyword">return</strong> name;
-<a class="jxr_linenumber" name="L329" href="#L329">329</a> }
-<a class="jxr_linenumber" name="L330" href="#L330">330</a>
-<a class="jxr_linenumber" name="L331" href="#L331">331</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L332" href="#L332">332</a> <em class="jxr_javadoccomment"> * Data type value.</em>
-<a class="jxr_linenumber" name="L333" href="#L333">333</a> <em class="jxr_javadoccomment"> * @return not null</em>
-<a class="jxr_linenumber" name="L334" href="#L334">334</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L335" href="#L335">335</a> <strong class="jxr_keyword">public</strong> String getValue() {
-<a class="jxr_linenumber" name="L336" href="#L336">336</a> <strong class="jxr_keyword">return</strong> value;
-<a class="jxr_linenumber" name="L337" href="#L337">337</a> }
-<a class="jxr_linenumber" name="L338" href="#L338">338</a>
-<a class="jxr_linenumber" name="L339" href="#L339">339</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L340" href="#L340">340</a> <em class="jxr_javadoccomment"> * Constructs a <code>String</code> with all attributes</em>
-<a class="jxr_linenumber" name="L341" href="#L341">341</a> <em class="jxr_javadoccomment"> * in name = value format.</em>
-<a class="jxr_linenumber" name="L342" href="#L342">342</a> <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="L343" href="#L343">343</a> <em class="jxr_javadoccomment"> * @return a <code>String</code> representation </em>
-<a class="jxr_linenumber" name="L344" href="#L344">344</a> <em class="jxr_javadoccomment"> * of this object.</em>
-<a class="jxr_linenumber" name="L345" href="#L345">345</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L346" href="#L346">346</a> @Override
-<a class="jxr_linenumber" name="L347" href="#L347">347</a> <strong class="jxr_keyword">public</strong> String toString()
-<a class="jxr_linenumber" name="L348" href="#L348">348</a> {
-<a class="jxr_linenumber" name="L349" href="#L349">349</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Datum [ "</span>
-<a class="jxr_linenumber" name="L350" href="#L350">350</a> + <span class="jxr_string">"name ='"</span> + <strong class="jxr_keyword">this</strong>.name + <span class="jxr_string">"',"</span>
-<a class="jxr_linenumber" name="L351" href="#L351">351</a> + <span class="jxr_string">"value ='"</span> + <strong class="jxr_keyword">this</strong>.value + <span class="jxr_string">" "</span>
-<a class="jxr_linenumber" name="L352" href="#L352">352</a> + <span class="jxr_string">"']"</span>;
-<a class="jxr_linenumber" name="L353" href="#L353">353</a> }
-<a class="jxr_linenumber" name="L354" href="#L354">354</a> }
-<a class="jxr_linenumber" name="L355" href="#L355">355</a> }
-<a class="jxr_linenumber" name="L356" href="#L356">356</a>
+<a class="jxr_linenumber" name="L208" href="#L208">208</a>
+<a class="jxr_linenumber" name="L209" href="#L209">209</a> <strong class="jxr_keyword">if</strong> (StringUtils.isNotBlank(license.getNotes())) {
+<a class="jxr_linenumber" name="L210" href="#L210">210</a> set(<strong class="jxr_keyword">new</strong> MetaData.Datum(MetaData.RAT_URL_HEADER_SAMPLE, license.getNotes()));
+<a class="jxr_linenumber" name="L211" href="#L211">211</a> }
+<a class="jxr_linenumber" name="L212" href="#L212">212</a> set(<strong class="jxr_keyword">new</strong> MetaData.Datum(MetaData.RAT_URL_HEADER_CATEGORY, license.getLicenseFamily().getFamilyCategory()));
+<a class="jxr_linenumber" name="L213" href="#L213">213</a> set(<strong class="jxr_keyword">new</strong> MetaData.Datum(MetaData.RAT_URL_LICENSE_FAMILY_CATEGORY, license.getLicenseFamily().getFamilyCategory()));
+<a class="jxr_linenumber" name="L214" href="#L214">214</a> set(<strong class="jxr_keyword">new</strong> MetaData.Datum(MetaData.RAT_URL_LICENSE_FAMILY_NAME, license.getLicenseFamily().getFamilyName()));
+<a class="jxr_linenumber" name="L215" href="#L215">215</a> }
+<a class="jxr_linenumber" name="L216" href="#L216">216</a>
+<a class="jxr_linenumber" name="L217" href="#L217">217</a>
+<a class="jxr_linenumber" name="L218" href="#L218">218</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L219" href="#L219">219</a> <em class="jxr_javadoccomment"> * Gets all data.</em>
+<a class="jxr_linenumber" name="L220" href="#L220">220</a> <em class="jxr_javadoccomment"> * @return unmodifiable view of the meta data.</em>
+<a class="jxr_linenumber" name="L221" href="#L221">221</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L222" href="#L222">222</a> <strong class="jxr_keyword">public</strong> Collection<Datum> getData() {
+<a class="jxr_linenumber" name="L223" href="#L223">223</a> <strong class="jxr_keyword">return</strong> Collections.unmodifiableCollection(data);
+<a class="jxr_linenumber" name="L224" href="#L224">224</a> }
+<a class="jxr_linenumber" name="L225" href="#L225">225</a>
+<a class="jxr_linenumber" name="L226" href="#L226">226</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L227" href="#L227">227</a> <em class="jxr_javadoccomment"> * Adds a new datum.</em>
+<a class="jxr_linenumber" name="L228" href="#L228">228</a> <em class="jxr_javadoccomment"> * Existing data with the same name are not replaced.</em>
+<a class="jxr_linenumber" name="L229" href="#L229">229</a> <em class="jxr_javadoccomment"> * @param datum datum to add.</em>
+<a class="jxr_linenumber" name="L230" href="#L230">230</a> <em class="jxr_javadoccomment"> * @see #set(org.apache.rat.api.MetaData.Datum)</em>
+<a class="jxr_linenumber" name="L231" href="#L231">231</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L232" href="#L232">232</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> add(<strong class="jxr_keyword">final</strong> Datum datum) {
+<a class="jxr_linenumber" name="L233" href="#L233">233</a> data.add(datum);
+<a class="jxr_linenumber" name="L234" href="#L234">234</a> }
+<a class="jxr_linenumber" name="L235" href="#L235">235</a>
+<a class="jxr_linenumber" name="L236" href="#L236">236</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L237" href="#L237">237</a> <em class="jxr_javadoccomment"> * Puts in a new datum replacing any existing data.</em>
+<a class="jxr_linenumber" name="L238" href="#L238">238</a> <em class="jxr_javadoccomment"> * Any current data matching the name are removed.</em>
+<a class="jxr_linenumber" name="L239" href="#L239">239</a> <em class="jxr_javadoccomment"> * @param datum not null</em>
+<a class="jxr_linenumber" name="L240" href="#L240">240</a> <em class="jxr_javadoccomment"> * @see #add(org.apache.rat.api.MetaData.Datum)</em>
+<a class="jxr_linenumber" name="L241" href="#L241">241</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L242" href="#L242">242</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> set(<strong class="jxr_keyword">final</strong> Datum datum) {
+<a class="jxr_linenumber" name="L243" href="#L243">243</a> clear(datum.getName());
+<a class="jxr_linenumber" name="L244" href="#L244">244</a> add(datum);
+<a class="jxr_linenumber" name="L245" href="#L245">245</a> }
+<a class="jxr_linenumber" name="L246" href="#L246">246</a>
+<a class="jxr_linenumber" name="L247" href="#L247">247</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L248" href="#L248">248</a> <em class="jxr_javadoccomment"> * Gets the first datum matching the given name.</em>
+<a class="jxr_linenumber" name="L249" href="#L249">249</a> <em class="jxr_javadoccomment"> * @param name not null</em>
+<a class="jxr_linenumber" name="L250" href="#L250">250</a> <em class="jxr_javadoccomment"> * @return the matching datum first added when there is any matching data,</em>
+<a class="jxr_linenumber" name="L251" href="#L251">251</a> <em class="jxr_javadoccomment"> * null otherwise</em>
+<a class="jxr_linenumber" name="L252" href="#L252">252</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L253" href="#L253">253</a> <strong class="jxr_keyword">public</strong> Datum get(<strong class="jxr_keyword">final</strong> String name) {
+<a class="jxr_linenumber" name="L254" href="#L254">254</a> Datum result = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L255" href="#L255">255</a> <strong class="jxr_keyword">for</strong> (Datum next : data) {
+<a class="jxr_linenumber" name="L256" href="#L256">256</a> <strong class="jxr_keyword">if</strong> (name.equals(next.getName())) {
+<a class="jxr_linenumber" name="L257" href="#L257">257</a> result = next;
+<a class="jxr_linenumber" name="L258" href="#L258">258</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L259" href="#L259">259</a> }
+<a class="jxr_linenumber" name="L260" href="#L260">260</a> }
+<a class="jxr_linenumber" name="L261" href="#L261">261</a> <strong class="jxr_keyword">return</strong> result;
+<a class="jxr_linenumber" name="L262" href="#L262">262</a> }
+<a class="jxr_linenumber" name="L263" href="#L263">263</a>
+<a class="jxr_linenumber" name="L264" href="#L264">264</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L265" href="#L265">265</a> <em class="jxr_javadoccomment"> * Gets the value of the first datum matching the given name.</em>
+<a class="jxr_linenumber" name="L266" href="#L266">266</a> <em class="jxr_javadoccomment"> * @param name not null</em>
+<a class="jxr_linenumber" name="L267" href="#L267">267</a> <em class="jxr_javadoccomment"> * @return the value of the matchin datum first added when there is any matching data,</em>
+<a class="jxr_linenumber" name="L268" href="#L268">268</a> <em class="jxr_javadoccomment"> * null otherwise</em>
+<a class="jxr_linenumber" name="L269" href="#L269">269</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L270" href="#L270">270</a> <strong class="jxr_keyword">public</strong> String value(<strong class="jxr_keyword">final</strong> String name) {
+<a class="jxr_linenumber" name="L271" href="#L271">271</a> <strong class="jxr_keyword">final</strong> Datum datum = get(name);
+<a class="jxr_linenumber" name="L272" href="#L272">272</a> <strong class="jxr_keyword">final</strong> String result;
+<a class="jxr_linenumber" name="L273" href="#L273">273</a> <strong class="jxr_keyword">if</strong> (datum == <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L274" href="#L274">274</a> result = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L275" href="#L275">275</a> } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L276" href="#L276">276</a> result = datum.getValue();
+<a class="jxr_linenumber" name="L277" href="#L277">277</a> }
+<a class="jxr_linenumber" name="L278" href="#L278">278</a> <strong class="jxr_keyword">return</strong> result;
+<a class="jxr_linenumber" name="L279" href="#L279">279</a> }
+<a class="jxr_linenumber" name="L280" href="#L280">280</a>
+<a class="jxr_linenumber" name="L281" href="#L281">281</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L282" href="#L282">282</a> <em class="jxr_javadoccomment"> * Removes all data matching the given name.</em>
+<a class="jxr_linenumber" name="L283" href="#L283">283</a> <em class="jxr_javadoccomment"> * @param name not null</em>
+<a class="jxr_linenumber" name="L284" href="#L284">284</a> <em class="jxr_javadoccomment"> * @return true if any data match, false otherwise</em>
+<a class="jxr_linenumber" name="L285" href="#L285">285</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L286" href="#L286">286</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> clear(<strong class="jxr_keyword">final</strong> String name) {
+<a class="jxr_linenumber" name="L287" href="#L287">287</a> <strong class="jxr_keyword">boolean</strong> dataRemoved = false;
+<a class="jxr_linenumber" name="L288" href="#L288">288</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">final</strong> Iterator<Datum> it = data.iterator();it.hasNext();) {
+<a class="jxr_linenumber" name="L289" href="#L289">289</a> <strong class="jxr_keyword">final</strong> Datum datum = it.next();
+<a class="jxr_linenumber" name="L290" href="#L290">290</a> <strong class="jxr_keyword">if</strong> (datum.getName().equals(name)) {
+<a class="jxr_linenumber" name="L291" href="#L291">291</a> it.remove();
+<a class="jxr_linenumber" name="L292" href="#L292">292</a> dataRemoved = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L293" href="#L293">293</a> }
+<a class="jxr_linenumber" name="L294" href="#L294">294</a> }
+<a class="jxr_linenumber" name="L295" href="#L295">295</a> <strong class="jxr_keyword">return</strong> dataRemoved;
+<a class="jxr_linenumber" name="L296" href="#L296">296</a> }
+<a class="jxr_linenumber" name="L297" href="#L297">297</a>
+<a class="jxr_linenumber" name="L298" href="#L298">298</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L299" href="#L299">299</a> <em class="jxr_javadoccomment"> * Clears all data.</em>
+<a class="jxr_linenumber" name="L300" href="#L300">300</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L301" href="#L301">301</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clear() {
+<a class="jxr_linenumber" name="L302" href="#L302">302</a> data.clear();
+<a class="jxr_linenumber" name="L303" href="#L303">303</a> }
+<a class="jxr_linenumber" name="L304" href="#L304">304</a>
+<a class="jxr_linenumber" name="L305" href="#L305">305</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L306" href="#L306">306</a> <em class="jxr_javadoccomment"> * A datum.</em>
+<a class="jxr_linenumber" name="L307" href="#L307">307</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L308" href="#L308">308</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> Datum {
+<a class="jxr_linenumber" name="L309" href="#L309">309</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String name;
+<a class="jxr_linenumber" name="L310" href="#L310">310</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String value;
+<a class="jxr_linenumber" name="L311" href="#L311">311</a>
+<a class="jxr_linenumber" name="L312" href="#L312">312</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L313" href="#L313">313</a> <em class="jxr_javadoccomment"> * Constructs a datum.</em>
+<a class="jxr_linenumber" name="L314" href="#L314">314</a> <em class="jxr_javadoccomment"> * @param name not null</em>
+<a class="jxr_linenumber" name="L315" href="#L315">315</a> <em class="jxr_javadoccomment"> * @param value not null</em>
+<a class="jxr_linenumber" name="L316" href="#L316">316</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L317" href="#L317">317</a> <strong class="jxr_keyword">public</strong> Datum(<strong class="jxr_keyword">final</strong> String name, <strong class="jxr_keyword">final</strong> String value) {
+<a class="jxr_linenumber" name="L318" href="#L318">318</a> <strong class="jxr_keyword">super</strong>();
+<a class="jxr_linenumber" name="L319" href="#L319">319</a> <strong class="jxr_keyword">this</strong>.name = name;
+<a class="jxr_linenumber" name="L320" href="#L320">320</a> <strong class="jxr_keyword">this</strong>.value = value;
+<a class="jxr_linenumber" name="L321" href="#L321">321</a> }
+<a class="jxr_linenumber" name="L322" href="#L322">322</a>
+<a class="jxr_linenumber" name="L323" href="#L323">323</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L324" href="#L324">324</a> <em class="jxr_javadoccomment"> * Gets the name of the data type.</em>
+<a class="jxr_linenumber" name="L325" href="#L325">325</a> <em class="jxr_javadoccomment"> * To avoid collisions, it is recommended that URLs are used.</em>
+<a class="jxr_linenumber" name="L326" href="#L326">326</a> <em class="jxr_javadoccomment"> * @return not null</em>
+<a class="jxr_linenumber" name="L327" href="#L327">327</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L328" href="#L328">328</a> <strong class="jxr_keyword">public</strong> String getName() {
+<a class="jxr_linenumber" name="L329" href="#L329">329</a> <strong class="jxr_keyword">return</strong> name;
+<a class="jxr_linenumber" name="L330" href="#L330">330</a> }
+<a class="jxr_linenumber" name="L331" href="#L331">331</a>
+<a class="jxr_linenumber" name="L332" href="#L332">332</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L333" href="#L333">333</a> <em class="jxr_javadoccomment"> * Data type value.</em>
+<a class="jxr_linenumber" name="L334" href="#L334">334</a> <em class="jxr_javadoccomment"> * @return not null</em>
+<a class="jxr_linenumber" name="L335" href="#L335">335</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L336" href="#L336">336</a> <strong class="jxr_keyword">public</strong> String getValue() {
+<a class="jxr_linenumber" name="L337" href="#L337">337</a> <strong class="jxr_keyword">return</strong> value;
+<a class="jxr_linenumber" name="L338" href="#L338">338</a> }
+<a class="jxr_linenumber" name="L339" href="#L339">339</a>
+<a class="jxr_linenumber" name="L340" href="#L340">340</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L341" href="#L341">341</a> <em class="jxr_javadoccomment"> * Constructs a <code>String</code> with all attributes</em>
+<a class="jxr_linenumber" name="L342" href="#L342">342</a> <em class="jxr_javadoccomment"> * in name = value format.</em>
+<a class="jxr_linenumber" name="L343" href="#L343">343</a> <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="L344" href="#L344">344</a> <em class="jxr_javadoccomment"> * @return a <code>String</code> representation </em>
+<a class="jxr_linenumber" name="L345" href="#L345">345</a> <em class="jxr_javadoccomment"> * of this object.</em>
+<a class="jxr_linenumber" name="L346" href="#L346">346</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L347" href="#L347">347</a> @Override
+<a class="jxr_linenumber" name="L348" href="#L348">348</a> <strong class="jxr_keyword">public</strong> String toString()
+<a class="jxr_linenumber" name="L349" href="#L349">349</a> {
+<a class="jxr_linenumber" name="L350" href="#L350">350</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Datum [ "</span>
+<a class="jxr_linenumber" name="L351" href="#L351">351</a> + <span class="jxr_string">"name ='"</span> + <strong class="jxr_keyword">this</strong>.name + <span class="jxr_string">"',"</span>
+<a class="jxr_linenumber" name="L352" href="#L352">352</a> + <span class="jxr_string">"value ='"</span> + <strong class="jxr_keyword">this</strong>.value + <span class="jxr_string">" "</span>
+<a class="jxr_linenumber" name="L353" href="#L353">353</a> + <span class="jxr_string">"']"</span>;
+<a class="jxr_linenumber" name="L354" href="#L354">354</a> }
+<a class="jxr_linenumber" name="L355" href="#L355">355</a> }
+<a class="jxr_linenumber" name="L356" href="#L356">356</a> }
+<a class="jxr_linenumber" name="L357" href="#L357">357</a>
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html b/rat0161/apache-rat-core/xref/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html
index e5a48da2..e927c22d 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html
@@ -32,127 +32,128 @@
<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> org.apache.rat.api.RatException;
<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> org.apache.rat.report.AbstractReport;
<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> org.apache.rat.report.xml.writer.IXmlWriter;
-<a class="jxr_linenumber" name="L27" href="#L27">27</a>
-<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">import</strong> java.io.IOException;
-<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">import</strong> java.util.Calendar;
-<a class="jxr_linenumber" name="L30" href="#L30">30</a>
-<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="SimpleXmlClaimReporter" href="../../../../../../../org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html#SimpleXmlClaimReporter">SimpleXmlClaimReporter</a> <strong class="jxr_keyword">extends</strong> <a name="AbstractReport" href="../../../../../../../org/apache/rat/report/AbstractReport.html#AbstractReport">AbstractReport</a> {
-<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RAT_REPORT = <span class="jxr_string">"rat-report"</span>;
-<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TIMESTAMP = <span class="jxr_string">"timestamp"</span>;
-<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LICENSE_APPROVAL_PREDICATE = <span class="jxr_string">"license-approval"</span>;
-<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LICENSE_FAMILY_PREDICATE = <span class="jxr_string">"license-family"</span>;
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String HEADER_SAMPLE_PREDICATE = <span class="jxr_string">"header-sample"</span>;
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String HEADER_TYPE_PREDICATE = <span class="jxr_string">"header-type"</span>;
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FILE_TYPE_PREDICATE = <span class="jxr_string">"type"</span>;
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="IXmlWriter" href="../../../../../../../org/apache/rat/report/xml/writer/IXmlWriter.html#IXmlWriter">IXmlWriter</a> writer;
-<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NAME = <span class="jxr_string">"name"</span>;
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> firstTime = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="L43" href="#L43">43</a>
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">public</strong> <a name="SimpleXmlClaimReporter" href="../../../../../../../org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html#SimpleXmlClaimReporter">SimpleXmlClaimReporter</a>(<strong class="jxr_keyword">final</strong> <a name="IXmlWriter" href="../../../../../../../org/apache/rat/report/xml/writer/IXmlWriter.html#IXmlWriter">IXmlWriter</a> writer) {
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">this</strong>.writer = writer;
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> }
-<a class="jxr_linenumber" name="L47" href="#L47">47</a>
+<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> org.apache.rat.report.xml.writer.impl.base.XmlWriter;
+<a class="jxr_linenumber" name="L28" href="#L28">28</a>
+<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">import</strong> java.io.IOException;
+<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">import</strong> java.util.Calendar;
+<a class="jxr_linenumber" name="L31" href="#L31">31</a>
+<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="SimpleXmlClaimReporter" href="../../../../../../../org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html#SimpleXmlClaimReporter">SimpleXmlClaimReporter</a> <strong class="jxr_keyword">extends</strong> <a name="AbstractReport" href="../../../../../../../org/apache/rat/report/AbstractReport.html#AbstractReport">AbstractReport</a> {
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RAT_REPORT = <span class="jxr_string">"rat-report"</span>;
+<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TIMESTAMP = <span class="jxr_string">"timestamp"</span>;
+<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LICENSE_APPROVAL_PREDICATE = <span class="jxr_string">"license-approval"</span>;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LICENSE_FAMILY_PREDICATE = <span class="jxr_string">"license-family"</span>;
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String HEADER_SAMPLE_PREDICATE = <span class="jxr_string">"header-sample"</span>;
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String HEADER_TYPE_PREDICATE = <span class="jxr_string">"header-type"</span>;
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FILE_TYPE_PREDICATE = <span class="jxr_string">"type"</span>;
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="IXmlWriter" href="../../../../../../../org/apache/rat/report/xml/writer/IXmlWriter.html#IXmlWriter">IXmlWriter</a> writer;
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NAME = <span class="jxr_string">"name"</span>;
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> firstTime = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="L44" href="#L44">44</a>
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">public</strong> <a name="SimpleXmlClaimReporter" href="../../../../../../../org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html#SimpleXmlClaimReporter">SimpleXmlClaimReporter</a>(<strong class="jxr_keyword">final</strong> <a name="IXmlWriter" href="../../../../../../../org/apache/rat/report/xml/writer/IXmlWriter.html#IXmlWriter">IXmlWriter</a> writer) {
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">this</strong>.writer = writer;
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> }
<a class="jxr_linenumber" name="L48" href="#L48">48</a>
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> <em class="jxr_javadoccomment"> * Writes a single claim to the XML file.</em>
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment"> * @param pPredicate The claims predicate.</em>
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> * @param pObject The claims object.</em>
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> * @param pLiteral Whether to write the object as an element (true),</em>
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment"> * or an attribute (false).</em>
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment"> * @throws IOException An I/O error occurred while writing the claim.</em>
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment"> * @throws RatException Another error occurred while writing the claim.</em>
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L58" href="#L58">58</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> writeClaim(String pPredicate, String pObject, <strong class="jxr_keyword">boolean</strong> pLiteral)
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
-<a class="jxr_linenumber" name="L60" href="#L60">60</a> <strong class="jxr_keyword">if</strong> (pLiteral) {
-<a class="jxr_linenumber" name="L61" href="#L61">61</a> writer.openElement(pPredicate).content(pObject).closeElement();
-<a class="jxr_linenumber" name="L62" href="#L62">62</a> } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L63" href="#L63">63</a> writer.openElement(pPredicate).attribute(NAME, pObject).closeElement();
-<a class="jxr_linenumber" name="L64" href="#L64">64</a> }
-<a class="jxr_linenumber" name="L65" href="#L65">65</a> }
-<a class="jxr_linenumber" name="L66" href="#L66">66</a>
-<a class="jxr_linenumber" name="L67" href="#L67">67</a> @Override
-<a class="jxr_linenumber" name="L68" href="#L68">68</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> report(<strong class="jxr_keyword">final</strong> <a name="Document" href="../../../../../../../org/apache/rat/api/Document.html#Document">Document</a> subject) <strong class="jxr_keyword">throws</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
-<a class="jxr_linenumber" name="L69" href="#L69">69</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">if</strong> (firstTime) {
-<a class="jxr_linenumber" name="L71" href="#L71">71</a> firstTime = false;
-<a class="jxr_linenumber" name="L72" href="#L72">72</a> } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L73" href="#L73">73</a> writer.closeElement();
-<a class="jxr_linenumber" name="L74" href="#L74">74</a> }
-<a class="jxr_linenumber" name="L75" href="#L75">75</a> writer.openElement(<span class="jxr_string">"resource"</span>).attribute(NAME, subject.getName());
-<a class="jxr_linenumber" name="L76" href="#L76">76</a> writeDocumentClaims(subject);
-<a class="jxr_linenumber" name="L77" href="#L77">77</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
-<a class="jxr_linenumber" name="L78" href="#L78">78</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a>(<span class="jxr_string">"XML writing failure: "</span> + e.getMessage()
-<a class="jxr_linenumber" name="L79" href="#L79">79</a> + <span class="jxr_string">" subject: "</span> + subject, e);
-<a class="jxr_linenumber" name="L80" href="#L80">80</a> }
-<a class="jxr_linenumber" name="L81" href="#L81">81</a> }
-<a class="jxr_linenumber" name="L82" href="#L82">82</a>
-<a class="jxr_linenumber" name="L83" href="#L83">83</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeDocumentClaims(<strong class="jxr_keyword">final</strong> <a name="Document" href="../../../../../../../org/apache/rat/api/Document.html#Document">Document</a> subject) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
-<a class="jxr_linenumber" name="L84" href="#L84">84</a> <strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData = subject.getMetaData();
-<a class="jxr_linenumber" name="L85" href="#L85">85</a> writeHeaderSample(metaData);
-<a class="jxr_linenumber" name="L86" href="#L86">86</a> writeHeaderCategory(metaData);
-<a class="jxr_linenumber" name="L87" href="#L87">87</a> writeLicenseFamilyName(metaData);
-<a class="jxr_linenumber" name="L88" href="#L88">88</a> writeApprovedLicense(metaData);
-<a class="jxr_linenumber" name="L89" href="#L89">89</a> writeDocumentCategory(metaData);
-<a class="jxr_linenumber" name="L90" href="#L90">90</a> }
-<a class="jxr_linenumber" name="L91" href="#L91">91</a>
-<a class="jxr_linenumber" name="L92" href="#L92">92</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeApprovedLicense(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatExcepti [...]
-<a class="jxr_linenumber" name="L93" href="#L93">93</a> <strong class="jxr_keyword">final</strong> String approvedLicense = metaData.value(MetaData.RAT_URL_APPROVED_LICENSE);
-<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">if</strong> (approvedLicense != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L95" href="#L95">95</a> writeClaim(LICENSE_APPROVAL_PREDICATE, approvedLicense, false);
-<a class="jxr_linenumber" name="L96" href="#L96">96</a> }
-<a class="jxr_linenumber" name="L97" href="#L97">97</a> }
-<a class="jxr_linenumber" name="L98" href="#L98">98</a>
-<a class="jxr_linenumber" name="L99" href="#L99">99</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeLicenseFamilyName(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatExcep [...]
-<a class="jxr_linenumber" name="L100" href="#L100">100</a> <strong class="jxr_keyword">final</strong> String licenseFamilyName = metaData.value(MetaData.RAT_URL_LICENSE_FAMILY_NAME);
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">if</strong> (licenseFamilyName != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L102" href="#L102">102</a> writeClaim(LICENSE_FAMILY_PREDICATE, licenseFamilyName, false);
-<a class="jxr_linenumber" name="L103" href="#L103">103</a> }
-<a class="jxr_linenumber" name="L104" href="#L104">104</a> }
-<a class="jxr_linenumber" name="L105" href="#L105">105</a>
-<a class="jxr_linenumber" name="L106" href="#L106">106</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeHeaderCategory(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatExcept [...]
-<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">final</strong> String headerCategory = metaData.value(MetaData.RAT_URL_HEADER_CATEGORY);
-<a class="jxr_linenumber" name="L108" href="#L108">108</a> <strong class="jxr_keyword">if</strong> (headerCategory != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L109" href="#L109">109</a> writeClaim(HEADER_TYPE_PREDICATE, headerCategory, false);
-<a class="jxr_linenumber" name="L110" href="#L110">110</a> }
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> }
-<a class="jxr_linenumber" name="L112" href="#L112">112</a>
-<a class="jxr_linenumber" name="L113" href="#L113">113</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeHeaderSample(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
-<a class="jxr_linenumber" name="L114" href="#L114">114</a> <strong class="jxr_keyword">final</strong> String sample = metaData.value(MetaData.RAT_URL_HEADER_SAMPLE);
-<a class="jxr_linenumber" name="L115" href="#L115">115</a> <strong class="jxr_keyword">if</strong> (sample != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L116" href="#L116">116</a> writeClaim(HEADER_SAMPLE_PREDICATE, sample, <strong class="jxr_keyword">true</strong>);
-<a class="jxr_linenumber" name="L117" href="#L117">117</a> }
-<a class="jxr_linenumber" name="L118" href="#L118">118</a> }
-<a class="jxr_linenumber" name="L119" href="#L119">119</a>
-<a class="jxr_linenumber" name="L120" href="#L120">120</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeDocumentCategory(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatExce [...]
-<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">final</strong> String documentCategory = metaData.value(MetaData.RAT_URL_DOCUMENT_CATEGORY);
-<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">if</strong> (documentCategory != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L123" href="#L123">123</a> writeClaim(FILE_TYPE_PREDICATE, documentCategory, false);
-<a class="jxr_linenumber" name="L124" href="#L124">124</a> }
-<a class="jxr_linenumber" name="L125" href="#L125">125</a> }
-<a class="jxr_linenumber" name="L126" href="#L126">126</a>
-<a class="jxr_linenumber" name="L127" href="#L127">127</a> @Override
-<a class="jxr_linenumber" name="L128" href="#L128">128</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startReport() <strong class="jxr_keyword">throws</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
-<a class="jxr_linenumber" name="L129" href="#L129">129</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L130" href="#L130">130</a> writer.openElement(RAT_REPORT)
-<a class="jxr_linenumber" name="L131" href="#L131">131</a> .attribute(TIMESTAMP,
-<a class="jxr_linenumber" name="L132" href="#L132">132</a> DateFormatUtils.ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT
-<a class="jxr_linenumber" name="L133" href="#L133">133</a> .format(Calendar.getInstance()));
-<a class="jxr_linenumber" name="L134" href="#L134">134</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
-<a class="jxr_linenumber" name="L135" href="#L135">135</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a>(<span class="jxr_string">"Cannot open start element"</span>, e);
-<a class="jxr_linenumber" name="L136" href="#L136">136</a> }
-<a class="jxr_linenumber" name="L137" href="#L137">137</a> }
-<a class="jxr_linenumber" name="L138" href="#L138">138</a>
-<a class="jxr_linenumber" name="L139" href="#L139">139</a> @Override
-<a class="jxr_linenumber" name="L140" href="#L140">140</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> endReport() <strong class="jxr_keyword">throws</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
-<a class="jxr_linenumber" name="L141" href="#L141">141</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L142" href="#L142">142</a> writer.closeDocument();
-<a class="jxr_linenumber" name="L143" href="#L143">143</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
-<a class="jxr_linenumber" name="L144" href="#L144">144</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a>(<span class="jxr_string">"Cannot close last element"</span>, e);
-<a class="jxr_linenumber" name="L145" href="#L145">145</a> }
-<a class="jxr_linenumber" name="L146" href="#L146">146</a> }
-<a class="jxr_linenumber" name="L147" href="#L147">147</a> }
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment"> * Writes a single claim to the XML file.</em>
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> * @param pPredicate The claims predicate.</em>
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> * @param pObject The claims object.</em>
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment"> * @param pLiteral Whether to write the object as an element (true),</em>
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment"> * or an attribute (false).</em>
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment"> * @throws IOException An I/O error occurred while writing the claim.</em>
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment"> * @throws RatException Another error occurred while writing the claim.</em>
+<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> writeClaim(String pPredicate, String pObject, <strong class="jxr_keyword">boolean</strong> pLiteral)
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">if</strong> (pLiteral) {
+<a class="jxr_linenumber" name="L62" href="#L62">62</a> writer.openElement(pPredicate).content(pObject).closeElement();
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> writer.openElement(pPredicate).attribute(NAME, pObject).closeElement();
+<a class="jxr_linenumber" name="L65" href="#L65">65</a> }
+<a class="jxr_linenumber" name="L66" href="#L66">66</a> }
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> @Override
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> report(<strong class="jxr_keyword">final</strong> <a name="Document" href="../../../../../../../org/apache/rat/api/Document.html#Document">Document</a> subject) <strong class="jxr_keyword">throws</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
+<a class="jxr_linenumber" name="L70" href="#L70">70</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">if</strong> (firstTime) {
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> firstTime = false;
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L74" href="#L74">74</a> writer.closeElement();
+<a class="jxr_linenumber" name="L75" href="#L75">75</a> }
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> writer.openElement(<span class="jxr_string">"resource"</span>).attribute(NAME, subject.getName());
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> writeDocumentClaims(subject);
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
+<a class="jxr_linenumber" name="L79" href="#L79">79</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a>(<span class="jxr_string">"XML writing failure: "</span> + e.getMessage()
+<a class="jxr_linenumber" name="L80" href="#L80">80</a> + <span class="jxr_string">" subject: "</span> + subject, e);
+<a class="jxr_linenumber" name="L81" href="#L81">81</a> }
+<a class="jxr_linenumber" name="L82" href="#L82">82</a> }
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>
+<a class="jxr_linenumber" name="L84" href="#L84">84</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeDocumentClaims(<strong class="jxr_keyword">final</strong> <a name="Document" href="../../../../../../../org/apache/rat/api/Document.html#Document">Document</a> subject) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
+<a class="jxr_linenumber" name="L85" href="#L85">85</a> <strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData = subject.getMetaData();
+<a class="jxr_linenumber" name="L86" href="#L86">86</a> writeHeaderSample(metaData);
+<a class="jxr_linenumber" name="L87" href="#L87">87</a> writeHeaderCategory(metaData);
+<a class="jxr_linenumber" name="L88" href="#L88">88</a> writeLicenseFamilyName(metaData);
+<a class="jxr_linenumber" name="L89" href="#L89">89</a> writeApprovedLicense(metaData);
+<a class="jxr_linenumber" name="L90" href="#L90">90</a> writeDocumentCategory(metaData);
+<a class="jxr_linenumber" name="L91" href="#L91">91</a> }
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>
+<a class="jxr_linenumber" name="L93" href="#L93">93</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeApprovedLicense(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatExcepti [...]
+<a class="jxr_linenumber" name="L94" href="#L94">94</a> <strong class="jxr_keyword">final</strong> String approvedLicense = metaData.value(MetaData.RAT_URL_APPROVED_LICENSE);
+<a class="jxr_linenumber" name="L95" href="#L95">95</a> <strong class="jxr_keyword">if</strong> (approvedLicense != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L96" href="#L96">96</a> writeClaim(LICENSE_APPROVAL_PREDICATE, approvedLicense, false);
+<a class="jxr_linenumber" name="L97" href="#L97">97</a> }
+<a class="jxr_linenumber" name="L98" href="#L98">98</a> }
+<a class="jxr_linenumber" name="L99" href="#L99">99</a>
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeLicenseFamilyName(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatExc [...]
+<a class="jxr_linenumber" name="L101" href="#L101">101</a> <strong class="jxr_keyword">final</strong> String licenseFamilyName = metaData.value(MetaData.RAT_URL_LICENSE_FAMILY_NAME);
+<a class="jxr_linenumber" name="L102" href="#L102">102</a> <strong class="jxr_keyword">if</strong> (licenseFamilyName != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L103" href="#L103">103</a> writeClaim(LICENSE_FAMILY_PREDICATE, licenseFamilyName, false);
+<a class="jxr_linenumber" name="L104" href="#L104">104</a> }
+<a class="jxr_linenumber" name="L105" href="#L105">105</a> }
+<a class="jxr_linenumber" name="L106" href="#L106">106</a>
+<a class="jxr_linenumber" name="L107" href="#L107">107</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeHeaderCategory(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatExcept [...]
+<a class="jxr_linenumber" name="L108" href="#L108">108</a> <strong class="jxr_keyword">final</strong> String headerCategory = metaData.value(MetaData.RAT_URL_HEADER_CATEGORY);
+<a class="jxr_linenumber" name="L109" href="#L109">109</a> <strong class="jxr_keyword">if</strong> (headerCategory != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> writeClaim(HEADER_TYPE_PREDICATE, headerCategory, false);
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> }
+<a class="jxr_linenumber" name="L112" href="#L112">112</a> }
+<a class="jxr_linenumber" name="L113" href="#L113">113</a>
+<a class="jxr_linenumber" name="L114" href="#L114">114</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeHeaderSample(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
+<a class="jxr_linenumber" name="L115" href="#L115">115</a> <strong class="jxr_keyword">final</strong> String sample = metaData.value(MetaData.RAT_URL_HEADER_SAMPLE);
+<a class="jxr_linenumber" name="L116" href="#L116">116</a> <strong class="jxr_keyword">if</strong> (sample != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L117" href="#L117">117</a> writeClaim(HEADER_SAMPLE_PREDICATE, sample, <strong class="jxr_keyword">true</strong>);
+<a class="jxr_linenumber" name="L118" href="#L118">118</a> }
+<a class="jxr_linenumber" name="L119" href="#L119">119</a> }
+<a class="jxr_linenumber" name="L120" href="#L120">120</a>
+<a class="jxr_linenumber" name="L121" href="#L121">121</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeDocumentCategory(<strong class="jxr_keyword">final</strong> <a name="MetaData" href="../../../../../../../org/apache/rat/api/MetaData.html#MetaData">MetaData</a> metaData) <strong class="jxr_keyword">throws</strong> IOException, <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatExce [...]
+<a class="jxr_linenumber" name="L122" href="#L122">122</a> <strong class="jxr_keyword">final</strong> String documentCategory = metaData.value(MetaData.RAT_URL_DOCUMENT_CATEGORY);
+<a class="jxr_linenumber" name="L123" href="#L123">123</a> <strong class="jxr_keyword">if</strong> (documentCategory != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L124" href="#L124">124</a> writeClaim(FILE_TYPE_PREDICATE, documentCategory, false);
+<a class="jxr_linenumber" name="L125" href="#L125">125</a> }
+<a class="jxr_linenumber" name="L126" href="#L126">126</a> }
+<a class="jxr_linenumber" name="L127" href="#L127">127</a>
+<a class="jxr_linenumber" name="L128" href="#L128">128</a> @Override
+<a class="jxr_linenumber" name="L129" href="#L129">129</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startReport() <strong class="jxr_keyword">throws</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
+<a class="jxr_linenumber" name="L130" href="#L130">130</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L131" href="#L131">131</a> writer.openElement(RAT_REPORT)
+<a class="jxr_linenumber" name="L132" href="#L132">132</a> .attribute(TIMESTAMP,
+<a class="jxr_linenumber" name="L133" href="#L133">133</a> DateFormatUtils.ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT
+<a class="jxr_linenumber" name="L134" href="#L134">134</a> .format(Calendar.getInstance()));
+<a class="jxr_linenumber" name="L135" href="#L135">135</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
+<a class="jxr_linenumber" name="L136" href="#L136">136</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a>(<span class="jxr_string">"Cannot open start element"</span>, e);
+<a class="jxr_linenumber" name="L137" href="#L137">137</a> }
+<a class="jxr_linenumber" name="L138" href="#L138">138</a> }
+<a class="jxr_linenumber" name="L139" href="#L139">139</a>
+<a class="jxr_linenumber" name="L140" href="#L140">140</a> @Override
+<a class="jxr_linenumber" name="L141" href="#L141">141</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> endReport() <strong class="jxr_keyword">throws</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
+<a class="jxr_linenumber" name="L142" href="#L142">142</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L143" href="#L143">143</a> writer.closeDocument();
+<a class="jxr_linenumber" name="L144" href="#L144">144</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
+<a class="jxr_linenumber" name="L145" href="#L145">145</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatException" href="../../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a>(<span class="jxr_string">"Cannot close last element"</span>, e);
+<a class="jxr_linenumber" name="L146" href="#L146">146</a> }
+<a class="jxr_linenumber" name="L147" href="#L147">147</a> }
+<a class="jxr_linenumber" name="L148" href="#L148">148</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/report/claim/util/LicenseAddingReport.html b/rat0161/apache-rat-core/xref/org/apache/rat/report/claim/util/LicenseAddingReport.html
index 20c7d3df..cec137b9 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/report/claim/util/LicenseAddingReport.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/report/claim/util/LicenseAddingReport.html
@@ -35,32 +35,33 @@
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> org.apache.rat.api.MetaData.Datum;
<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">import</strong> org.apache.rat.api.RatException;
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">import</strong> org.apache.rat.report.AbstractReport;
-<a class="jxr_linenumber" name="L30" href="#L30">30</a>
+<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">import</strong> org.apache.rat.utils.Log;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>
-<a class="jxr_linenumber" name="L32" href="#L32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="LicenseAddingReport" href="../../../../../../org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport">LicenseAddingReport</a> <strong class="jxr_keyword">extends</strong> <a name="AbstractReport" href="../../../../../../org/apache/rat/report/AbstractReport.html#AbstractReport">AbstractReport</a> {
-<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="AbstractLicenseAppender" href="../../../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender">AbstractLicenseAppender</a> appender;
-<a class="jxr_linenumber" name="L34" href="#L34">34</a>
-<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">public</strong> <a name="LicenseAddingReport" href="../../../../../../org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport">LicenseAddingReport</a>(String pCopyrightMsg, <strong class="jxr_keyword">boolean</strong> pForced) {
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> appender = pCopyrightMsg == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">new</strong> <a name="ApacheV2LicenseAppender" href="../../../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender">ApacheV2LicenseAppender</a>() : <strong class="jxr_keyword">new</strong> <a name="ApacheV2LicenseAppender" href="../../../../../../org/apache/rat/annotation/ApacheV2LicenseAppe [...]
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> appender.setForce(pForced);
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> }
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> @Override
-<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> report(org.apache.rat.api.Document document) <strong class="jxr_keyword">throws</strong> <a name="RatException" href="../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">final</strong> Datum licenseHeader = document.getMetaData().get(MetaData.RAT_URL_HEADER_CATEGORY);
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">if</strong> (licenseHeader == <strong class="jxr_keyword">null</strong>
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> || MetaData.RAT_LICENSE_FAMILY_CATEGORY_DATUM_UNKNOWN.getValue().equals(licenseHeader.getValue())) {
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">final</strong> File file = <strong class="jxr_keyword">new</strong> File(document.getName());
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">if</strong> (file.isFile()) {
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> appender.append(file);
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatException" href="../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a>(e.getMessage(), e);
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> }
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> }
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> }
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> }
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> }
+<a class="jxr_linenumber" name="L32" href="#L32">32</a>
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="LicenseAddingReport" href="../../../../../../org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport">LicenseAddingReport</a> <strong class="jxr_keyword">extends</strong> <a name="AbstractReport" href="../../../../../../org/apache/rat/report/AbstractReport.html#AbstractReport">AbstractReport</a> {
+<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a name="AbstractLicenseAppender" href="../../../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender">AbstractLicenseAppender</a> appender;
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>
+<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">public</strong> <a name="LicenseAddingReport" href="../../../../../../org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport">LicenseAddingReport</a>(<strong class="jxr_keyword">final</strong> <a name="Log" href="../../../../../../org/apache/rat/utils/Log.html#Log">Log</a> log, String pCopyrightMsg, <strong class="jxr_keyword">boolean</strong> pForced) {
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> appender = pCopyrightMsg == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">new</strong> <a name="ApacheV2LicenseAppender" href="../../../../../../org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender">ApacheV2LicenseAppender</a>(log) : <strong class="jxr_keyword">new</strong> <a name="ApacheV2LicenseAppender" href="../../../../../../org/apache/rat/annotation/ApacheV2LicenseA [...]
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> appender.setForce(pForced);
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> }
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> @Override
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> report(org.apache.rat.api.Document document) <strong class="jxr_keyword">throws</strong> <a name="RatException" href="../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a> {
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">final</strong> Datum licenseHeader = document.getMetaData().get(MetaData.RAT_URL_HEADER_CATEGORY);
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">if</strong> (licenseHeader == <strong class="jxr_keyword">null</strong>
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> || MetaData.RAT_LICENSE_FAMILY_CATEGORY_DATUM_UNKNOWN.getValue().equals(licenseHeader.getValue())) {
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">final</strong> File file = <strong class="jxr_keyword">new</strong> File(document.getName());
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">if</strong> (file.isFile()) {
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> appender.append(file);
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> } <strong class="jxr_keyword">catch</strong> (IOException e) {
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a name="RatException" href="../../../../../../org/apache/rat/api/RatException.html#RatException">RatException</a>(e.getMessage(), e);
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> }
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> }
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> }
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> }
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/report/xml/XmlReportFactory.html b/rat0161/apache-rat-core/xref/org/apache/rat/report/xml/XmlReportFactory.html
index 31def105..81194a2c 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/report/xml/XmlReportFactory.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/report/xml/XmlReportFactory.html
@@ -64,12 +64,12 @@
<a class="jxr_linenumber" name="L56" href="#L56">56</a> reporters.add(<strong class="jxr_keyword">new</strong> <a name="ClaimAggregator" href="../../../../../org/apache/rat/report/claim/impl/ClaimAggregator.html#ClaimAggregator">ClaimAggregator</a>(statistic));
<a class="jxr_linenumber" name="L57" href="#L57">57</a> }
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <strong class="jxr_keyword">if</strong> (configuration.isAddingLicenses()) {
-<a class="jxr_linenumber" name="L59" href="#L59">59</a> reporters.add(<strong class="jxr_keyword">new</strong> <a name="LicenseAddingReport" href="../../../../../org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport">LicenseAddingReport</a>(configuration.getCopyrightMessage(), configuration.isAddingLicensesForced()));
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> reporters.add(<strong class="jxr_keyword">new</strong> <a name="LicenseAddingReport" href="../../../../../org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport">LicenseAddingReport</a>(configuration.getLog(), configuration.getCopyrightMessage(), configuration.isAddingLicensesForced()));
<a class="jxr_linenumber" name="L60" href="#L60">60</a> }
<a class="jxr_linenumber" name="L61" href="#L61">61</a> reporters.add(<strong class="jxr_keyword">new</strong> <a name="SimpleXmlClaimReporter" href="../../../../../org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.html#SimpleXmlClaimReporter">SimpleXmlClaimReporter</a>(writer));
<a class="jxr_linenumber" name="L62" href="#L62">62</a>
<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">final</strong> <a name="IDocumentAnalyser" href="../../../../../org/apache/rat/document/IDocumentAnalyser.html#IDocumentAnalyser">IDocumentAnalyser</a> analyser =
-<a class="jxr_linenumber" name="L64" href="#L64">64</a> DefaultAnalyserFactory.createDefaultAnalyser(configuration.getLicenses(LicenseFilter.all));
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> DefaultAnalyserFactory.createDefaultAnalyser(configuration.getLog(), configuration.getLicenses(LicenseFilter.all));
<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">final</strong> <a name="DefaultPolicy" href="../../../../../org/apache/rat/policy/DefaultPolicy.html#DefaultPolicy">DefaultPolicy</a> policy = <strong class="jxr_keyword">new</strong> <a name="DefaultPolicy" href="../../../../../org/apache/rat/policy/DefaultPolicy.html#DefaultPolicy">DefaultPolicy</a>(configuration.getLicenseFamilies(LicenseFilter.approved));
<a class="jxr_linenumber" name="L66" href="#L66">66</a>
<a class="jxr_linenumber" name="L67" href="#L67">67</a> <strong class="jxr_keyword">final</strong> <a name="IDocumentAnalyser" href="../../../../../org/apache/rat/document/IDocumentAnalyser.html#IDocumentAnalyser">IDocumentAnalyser</a>[] analysers = {analyser, policy};
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/utils/DefaultLog.html b/rat0161/apache-rat-core/xref/org/apache/rat/utils/DefaultLog.html
index f049a34c..99eed539 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/utils/DefaultLog.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/utils/DefaultLog.html
@@ -35,28 +35,35 @@
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment"> * The instance of the default log.</em>
<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a name="DefaultLog" href="../../../../org/apache/rat/utils/DefaultLog.html#DefaultLog">DefaultLog</a> INSTANCE = <strong class="jxr_keyword">new</strong> <a name="DefaultLog" href="../../../../org/apache/rat/utils/DefaultLog.html#DefaultLog">DefaultLog</a>();
-<a class="jxr_linenumber" name="L30" href="#L30">30</a>
-<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">private</strong> <a name="DefaultLog" href="../../../../org/apache/rat/utils/DefaultLog.html#DefaultLog">DefaultLog</a>() {
-<a class="jxr_linenumber" name="L32" href="#L32">32</a> }
-<a class="jxr_linenumber" name="L33" href="#L33">33</a>
-<a class="jxr_linenumber" name="L34" href="#L34">34</a> @Override
-<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(Level level, String msg) {
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">switch</strong> (level) {
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">case</strong> DEBUG:
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">case</strong> INFO:
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">case</strong> WARN:
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> System.out.format(<span class="jxr_string">"%s: %s%n"</span>, level, msg);
-<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">case</strong> ERROR:
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> System.err.format(<span class="jxr_string">"%s: %s%n"</span>, level, msg);
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">case</strong> OFF:
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> <strong class="jxr_keyword">default</strong>:
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> }
-<a class="jxr_linenumber" name="L50" href="#L50">50</a> }
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> }
+<a class="jxr_linenumber" name="L30" href="#L30">30</a>
+<a class="jxr_linenumber" name="L31" href="#L31">31</a> <strong class="jxr_keyword">private</strong> Level level;
+<a class="jxr_linenumber" name="L32" href="#L32">32</a>
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <strong class="jxr_keyword">private</strong> <a name="DefaultLog" href="../../../../org/apache/rat/utils/DefaultLog.html#DefaultLog">DefaultLog</a>() {
+<a class="jxr_linenumber" name="L34" href="#L34">34</a> level = Level.INFO;
+<a class="jxr_linenumber" name="L35" href="#L35">35</a> }
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLevel(Level level) {
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">this</strong>.level = level;
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> }
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> @Override
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(Level level, String msg) {
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.level.ordinal() <= level.ordinal())
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">switch</strong> (level) {
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">case</strong> DEBUG:
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <strong class="jxr_keyword">case</strong> INFO:
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">case</strong> WARN:
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> System.out.format(<span class="jxr_string">"%s: %s%n"</span>, level, msg);
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">case</strong> ERROR:
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> System.err.format(<span class="jxr_string">"%s: %s%n"</span>, level, msg);
+<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> <strong class="jxr_keyword">case</strong> OFF:
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">default</strong>:
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> <strong class="jxr_keyword">break</strong>;
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> }
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> }
+<a class="jxr_linenumber" name="L58" href="#L58">58</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-core/xref/org/apache/rat/utils/Log.html b/rat0161/apache-rat-core/xref/org/apache/rat/utils/Log.html
index 54e00958..47ad7e03 100644
--- a/rat0161/apache-rat-core/xref/org/apache/rat/utils/Log.html
+++ b/rat0161/apache-rat-core/xref/org/apache/rat/utils/Log.html
@@ -35,34 +35,55 @@
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment"> * The log levels supported by logging.</em>
<a class="jxr_linenumber" name="L28" href="#L28">28</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">public</strong> enum Level {
-<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> * Log nothing.</em>
-<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L33" href="#L33">33</a> OFF,
-<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment"> * Log debug only.</em>
-<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L37" href="#L37">37</a> DEBUG,
-<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment"> * Log info only.</em>
-<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L41" href="#L41">41</a> INFO,
-<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * Log warn only.</em>
-<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L45" href="#L45">45</a> WARN,
-<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment"> * Log error only.</em>
-<a class="jxr_linenumber" name="L48" href="#L48">48</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L49" href="#L49">49</a> ERROR };
-<a class="jxr_linenumber" name="L50" href="#L50">50</a>
-<a class="jxr_linenumber" name="L51" href="#L51">51</a> <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment"> * Writes a message at a specific log level.</em>
-<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> * @param level The log level to write at.</em>
-<a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment"> * @param message the Message to write.</em>
-<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="L56" href="#L56">56</a> <strong class="jxr_keyword">void</strong> log(Level level, String message);
-<a class="jxr_linenumber" name="L57" href="#L57">57</a> }
+<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_comment">// these must be listed in order of decreasing noisiness.</em>
+<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> * Log debug only.</em>
+<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L34" href="#L34">34</a> DEBUG,
+<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment"> * Log info only.</em>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L38" href="#L38">38</a> INFO,
+<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L40" href="#L40">40</a> <em class="jxr_javadoccomment"> * Log warn only.</em>
+<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L42" href="#L42">42</a> WARN,
+<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> * Log error only.</em>
+<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L46" href="#L46">46</a> ERROR,
+<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L48" href="#L48">48</a> <em class="jxr_javadoccomment"> * Log nothing.</em>
+<a class="jxr_linenumber" name="L49" href="#L49">49</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L50" href="#L50">50</a> OFF};
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>
+<a class="jxr_linenumber" name="L52" href="#L52">52</a> <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L53" href="#L53">53</a> <em class="jxr_javadoccomment"> * Writes a message at a specific log level.</em>
+<a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment"> * @param level The log level to write at.</em>
+<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment"> * @param message the Message to write.</em>
+<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L57" href="#L57">57</a> <strong class="jxr_keyword">void</strong> log(Level level, String message);
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>
+<a class="jxr_linenumber" name="L59" href="#L59">59</a> <strong class="jxr_keyword">default</strong> <strong class="jxr_keyword">void</strong> log(Level level, Object message) {
+<a class="jxr_linenumber" name="L60" href="#L60">60</a> log(level, message == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">"NULL"</span> : message.toString());
+<a class="jxr_linenumber" name="L61" href="#L61">61</a> }
+<a class="jxr_linenumber" name="L62" href="#L62">62</a>
+<a class="jxr_linenumber" name="L63" href="#L63">63</a> <strong class="jxr_keyword">default</strong> <strong class="jxr_keyword">void</strong> debug(Object message) {
+<a class="jxr_linenumber" name="L64" href="#L64">64</a> log(Level.DEBUG, message);
+<a class="jxr_linenumber" name="L65" href="#L65">65</a> }
+<a class="jxr_linenumber" name="L66" href="#L66">66</a>
+<a class="jxr_linenumber" name="L67" href="#L67">67</a> <strong class="jxr_keyword">default</strong> <strong class="jxr_keyword">void</strong> info(Object message) {
+<a class="jxr_linenumber" name="L68" href="#L68">68</a> log(Level.INFO, message);
+<a class="jxr_linenumber" name="L69" href="#L69">69</a> }
+<a class="jxr_linenumber" name="L70" href="#L70">70</a>
+<a class="jxr_linenumber" name="L71" href="#L71">71</a> <strong class="jxr_keyword">default</strong> <strong class="jxr_keyword">void</strong> warn(Object message) {
+<a class="jxr_linenumber" name="L72" href="#L72">72</a> log(Level.WARN, message);
+<a class="jxr_linenumber" name="L73" href="#L73">73</a> }
+<a class="jxr_linenumber" name="L74" href="#L74">74</a>
+<a class="jxr_linenumber" name="L75" href="#L75">75</a> <strong class="jxr_keyword">default</strong> <strong class="jxr_keyword">void</strong> error(Object message) {
+<a class="jxr_linenumber" name="L76" href="#L76">76</a> log(Level.ERROR, message);
+<a class="jxr_linenumber" name="L77" href="#L77">77</a> }
+<a class="jxr_linenumber" name="L78" href="#L78">78</a> }
</pre>
<hr/>
<div id="footer">Copyright © 2006–2024 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/rat0161/apache-rat-plugin/dependencies.html b/rat0161/apache-rat-plugin/dependencies.html
index c79634ed..8444f7df 100644
--- a/rat0161/apache-rat-plugin/dependencies.html
+++ b/rat0161/apache-rat-plugin/dependencies.html
@@ -2042,7 +2042,7 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.</p>
<td align="center">-</td></tr>
<tr class="b">
<td align="left">apache-rat-core-0.16.1-SNAPSHOT-tests.jar</td>
-<td align="right">263.3 kB</td>
+<td align="right">263.6 kB</td>
<td align="right">-</td>
<td align="right">-</td>
<td align="right">-</td>
diff --git a/rat0161/apache-rat-plugin/jira-report.html b/rat0161/apache-rat-plugin/jira-report.html
index 014c6a58..a591faf8 100644
--- a/rat0161/apache-rat-plugin/jira-report.html
+++ b/rat0161/apache-rat-plugin/jira-report.html
@@ -265,13 +265,21 @@ JIRA Report
<td>Closed</td></tr>
<tr class="b">
<td>0.16.1</td>
+<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-346">RAT-346</a></td>
+<td>scan</td>
+<td>WARN in case user defined License family has the same name as existing one</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>0.16.1</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-342">RAT-342</a></td>
<td></td>
<td>Use Maven wrapper in RAT build</td>
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-328">RAT-328</a></td>
<td>engine</td>
@@ -279,7 +287,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-326">RAT-326</a></td>
<td>site</td>
@@ -287,7 +295,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-315">RAT-315</a></td>
<td>build</td>
@@ -295,7 +303,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-314">RAT-314</a></td>
<td>maven</td>
@@ -303,7 +311,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-335">RAT-335</a></td>
<td></td>
@@ -311,7 +319,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-321">RAT-321</a></td>
<td>engine</td>
@@ -319,7 +327,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-320">RAT-320</a></td>
<td>cli</td>
@@ -327,7 +335,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-317">RAT-317</a></td>
<td></td>
@@ -335,7 +343,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-311">RAT-311</a></td>
<td></td>
@@ -343,7 +351,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-329">RAT-329</a></td>
<td>engine</td>
@@ -351,7 +359,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-322">RAT-322</a></td>
<td>cli, maven</td>
@@ -359,7 +367,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-264">RAT-264</a></td>
<td></td>
@@ -367,7 +375,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-251">RAT-251</a></td>
<td></td>
@@ -375,7 +383,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-338">RAT-338</a></td>
<td></td>
@@ -383,7 +391,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-316">RAT-316</a></td>
<td>engine</td>
@@ -391,7 +399,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-312">RAT-312</a></td>
<td></td>
@@ -399,7 +407,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-309">RAT-309</a></td>
<td></td>
@@ -407,7 +415,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-307">RAT-307</a></td>
<td></td>
@@ -415,7 +423,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-306">RAT-306</a></td>
<td>site</td>
@@ -423,7 +431,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-310">RAT-310</a></td>
<td></td>
@@ -431,7 +439,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-305">RAT-305</a></td>
<td></td>
@@ -439,7 +447,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-298">RAT-298</a></td>
<td></td>
@@ -447,7 +455,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-291">RAT-291</a></td>
<td></td>
@@ -455,7 +463,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-290">RAT-290</a></td>
<td></td>
@@ -463,7 +471,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-283">RAT-283</a></td>
<td></td>
@@ -471,7 +479,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-281">RAT-281</a></td>
<td></td>
@@ -479,7 +487,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-275">RAT-275</a></td>
<td></td>
@@ -487,7 +495,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-273">RAT-273</a></td>
<td></td>
@@ -495,7 +503,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-268">RAT-268</a></td>
<td>maven</td>
@@ -503,7 +511,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-258">RAT-258</a></td>
<td></td>
@@ -511,7 +519,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-257">RAT-257</a></td>
<td>cli</td>
@@ -519,7 +527,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-212">RAT-212</a></td>
<td></td>
@@ -527,7 +535,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-207">RAT-207</a></td>
<td>maven</td>
@@ -535,7 +543,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-158">RAT-158</a></td>
<td></td>
@@ -543,7 +551,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-304">RAT-304</a></td>
<td></td>
@@ -551,7 +559,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-297">RAT-297</a></td>
<td></td>
@@ -559,7 +567,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-289">RAT-289</a></td>
<td></td>
@@ -567,7 +575,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-287">RAT-287</a></td>
<td>site</td>
@@ -575,7 +583,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-285">RAT-285</a></td>
<td></td>
@@ -583,7 +591,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-277">RAT-277</a></td>
<td></td>
@@ -591,7 +599,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-274">RAT-274</a></td>
<td></td>
@@ -599,7 +607,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-270">RAT-270</a></td>
<td></td>
@@ -607,7 +615,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-269">RAT-269</a></td>
<td></td>
@@ -615,7 +623,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-266">RAT-266</a></td>
<td>maven</td>
@@ -623,7 +631,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-260">RAT-260</a></td>
<td></td>
@@ -631,7 +639,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-250">RAT-250</a></td>
<td></td>
@@ -639,7 +647,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-244">RAT-244</a></td>
<td></td>
@@ -647,7 +655,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-118">RAT-118</a></td>
<td>maven</td>
@@ -655,7 +663,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-262">RAT-262</a></td>
<td>scan</td>
@@ -663,7 +671,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-252">RAT-252</a></td>
<td></td>
@@ -671,7 +679,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-288">RAT-288</a></td>
<td>maven</td>
@@ -679,7 +687,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-279">RAT-279</a></td>
<td></td>
@@ -687,7 +695,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-271">RAT-271</a></td>
<td></td>
@@ -695,7 +703,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-267">RAT-267</a></td>
<td>reports</td>
@@ -703,7 +711,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-254">RAT-254</a></td>
<td></td>
@@ -711,7 +719,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-242">RAT-242</a></td>
<td>reports</td>
@@ -719,7 +727,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-234">RAT-234</a></td>
<td></td>
@@ -727,7 +735,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-230">RAT-230</a></td>
<td>maven</td>
@@ -735,7 +743,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-229">RAT-229</a></td>
<td></td>
@@ -743,7 +751,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-228">RAT-228</a></td>
<td>antlib</td>
@@ -751,7 +759,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-224">RAT-224</a></td>
<td></td>
@@ -759,7 +767,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-222">RAT-222</a></td>
<td></td>
@@ -767,7 +775,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-245">RAT-245</a></td>
<td></td>
@@ -775,7 +783,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-243">RAT-243</a></td>
<td>maven</td>
@@ -783,7 +791,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-241">RAT-241</a></td>
<td>maven</td>
@@ -791,7 +799,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-233">RAT-233</a></td>
<td></td>
@@ -799,7 +807,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-232">RAT-232</a></td>
<td></td>
@@ -807,7 +815,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-231">RAT-231</a></td>
<td></td>
@@ -815,7 +823,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-227">RAT-227</a></td>
<td>site</td>
@@ -823,7 +831,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-226">RAT-226</a></td>
<td>antlib</td>
@@ -831,7 +839,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-223">RAT-223</a></td>
<td></td>
@@ -839,7 +847,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-221">RAT-221</a></td>
<td>docs</td>
@@ -847,7 +855,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-218">RAT-218</a></td>
<td>maven</td>
@@ -855,7 +863,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-217">RAT-217</a></td>
<td></td>
@@ -863,7 +871,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-216">RAT-216</a></td>
<td></td>
@@ -871,7 +879,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-215">RAT-215</a></td>
<td></td>
@@ -879,7 +887,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-214">RAT-214</a></td>
<td></td>
@@ -887,7 +895,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-188">RAT-188</a></td>
<td>maven</td>
@@ -895,7 +903,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-180">RAT-180</a></td>
<td></td>
@@ -903,7 +911,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-179">RAT-179</a></td>
<td>antlib, maven</td>
@@ -911,7 +919,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-177">RAT-177</a></td>
<td></td>
@@ -919,21 +927,13 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-175">RAT-175</a></td>
<td></td>
<td>SourceCodeManagementSystems.hasIgnoreFile() should return boolean</td>
<td>Bug</td>
<td>Fixed</td>
-<td>Resolved</td></tr>
-<tr class="a">
-<td>0.12</td>
-<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-174">RAT-174</a></td>
-<td></td>
-<td>CDDL1License still very slow</td>
-<td>Bug</td>
-<td>Fixed</td>
<td>Resolved</td></tr></table></section>
</div>
</div>
diff --git a/rat0161/apache-rat-plugin/rat-report.html b/rat0161/apache-rat-plugin/rat-report.html
index d2c579ee..5efb23c5 100644
--- a/rat0161/apache-rat-plugin/rat-report.html
+++ b/rat0161/apache-rat-plugin/rat-report.html
@@ -133,7 +133,7 @@ Rat (Release Audit Tool) results
*****************************************************
Summary
-------
-Generated at: 2024-01-16T10:49:26+01:00
+Generated at: 2024-01-16T22:15:42+01:00
Notes: 0
Binaries: 0
diff --git a/rat0161/apache-rat-tasks/dependencies.html b/rat0161/apache-rat-tasks/dependencies.html
index 8ec50dff..2ccaf8c6 100644
--- a/rat0161/apache-rat-tasks/dependencies.html
+++ b/rat0161/apache-rat-tasks/dependencies.html
@@ -757,7 +757,7 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.</p>
<td align="center">-</td></tr>
<tr class="a">
<td align="left">apache-rat-core-0.16.1-SNAPSHOT-tests.jar</td>
-<td align="right">263.3 kB</td>
+<td align="right">263.6 kB</td>
<td align="right">-</td>
<td align="right">-</td>
<td align="right">-</td>
diff --git a/rat0161/apache-rat-tasks/jira-report.html b/rat0161/apache-rat-tasks/jira-report.html
index 7f72aad4..7b279aa9 100644
--- a/rat0161/apache-rat-tasks/jira-report.html
+++ b/rat0161/apache-rat-tasks/jira-report.html
@@ -261,13 +261,21 @@ JIRA Report
<td>Closed</td></tr>
<tr class="b">
<td>0.16.1</td>
+<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-346">RAT-346</a></td>
+<td>scan</td>
+<td>WARN in case user defined License family has the same name as existing one</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>0.16.1</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-342">RAT-342</a></td>
<td></td>
<td>Use Maven wrapper in RAT build</td>
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-328">RAT-328</a></td>
<td>engine</td>
@@ -275,7 +283,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-326">RAT-326</a></td>
<td>site</td>
@@ -283,7 +291,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-315">RAT-315</a></td>
<td>build</td>
@@ -291,7 +299,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-314">RAT-314</a></td>
<td>maven</td>
@@ -299,7 +307,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-335">RAT-335</a></td>
<td></td>
@@ -307,7 +315,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-321">RAT-321</a></td>
<td>engine</td>
@@ -315,7 +323,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-320">RAT-320</a></td>
<td>cli</td>
@@ -323,7 +331,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-317">RAT-317</a></td>
<td></td>
@@ -331,7 +339,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-311">RAT-311</a></td>
<td></td>
@@ -339,7 +347,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-329">RAT-329</a></td>
<td>engine</td>
@@ -347,7 +355,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-322">RAT-322</a></td>
<td>cli, maven</td>
@@ -355,7 +363,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-264">RAT-264</a></td>
<td></td>
@@ -363,7 +371,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-251">RAT-251</a></td>
<td></td>
@@ -371,7 +379,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-338">RAT-338</a></td>
<td></td>
@@ -379,7 +387,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-316">RAT-316</a></td>
<td>engine</td>
@@ -387,7 +395,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-312">RAT-312</a></td>
<td></td>
@@ -395,7 +403,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-309">RAT-309</a></td>
<td></td>
@@ -403,7 +411,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-307">RAT-307</a></td>
<td></td>
@@ -411,7 +419,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-306">RAT-306</a></td>
<td>site</td>
@@ -419,7 +427,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-310">RAT-310</a></td>
<td></td>
@@ -427,7 +435,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-305">RAT-305</a></td>
<td></td>
@@ -435,7 +443,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-298">RAT-298</a></td>
<td></td>
@@ -443,7 +451,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-291">RAT-291</a></td>
<td></td>
@@ -451,7 +459,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-290">RAT-290</a></td>
<td></td>
@@ -459,7 +467,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-283">RAT-283</a></td>
<td></td>
@@ -467,7 +475,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-281">RAT-281</a></td>
<td></td>
@@ -475,7 +483,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-275">RAT-275</a></td>
<td></td>
@@ -483,7 +491,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-273">RAT-273</a></td>
<td></td>
@@ -491,7 +499,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-268">RAT-268</a></td>
<td>maven</td>
@@ -499,7 +507,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-258">RAT-258</a></td>
<td></td>
@@ -507,7 +515,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-257">RAT-257</a></td>
<td>cli</td>
@@ -515,7 +523,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-212">RAT-212</a></td>
<td></td>
@@ -523,7 +531,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-207">RAT-207</a></td>
<td>maven</td>
@@ -531,7 +539,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-158">RAT-158</a></td>
<td></td>
@@ -539,7 +547,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-304">RAT-304</a></td>
<td></td>
@@ -547,7 +555,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-297">RAT-297</a></td>
<td></td>
@@ -555,7 +563,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-289">RAT-289</a></td>
<td></td>
@@ -563,7 +571,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-287">RAT-287</a></td>
<td>site</td>
@@ -571,7 +579,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-285">RAT-285</a></td>
<td></td>
@@ -579,7 +587,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-277">RAT-277</a></td>
<td></td>
@@ -587,7 +595,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-274">RAT-274</a></td>
<td></td>
@@ -595,7 +603,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-270">RAT-270</a></td>
<td></td>
@@ -603,7 +611,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-269">RAT-269</a></td>
<td></td>
@@ -611,7 +619,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-266">RAT-266</a></td>
<td>maven</td>
@@ -619,7 +627,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-260">RAT-260</a></td>
<td></td>
@@ -627,7 +635,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-250">RAT-250</a></td>
<td></td>
@@ -635,7 +643,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-244">RAT-244</a></td>
<td></td>
@@ -643,7 +651,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-118">RAT-118</a></td>
<td>maven</td>
@@ -651,7 +659,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-262">RAT-262</a></td>
<td>scan</td>
@@ -659,7 +667,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-252">RAT-252</a></td>
<td></td>
@@ -667,7 +675,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-288">RAT-288</a></td>
<td>maven</td>
@@ -675,7 +683,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-279">RAT-279</a></td>
<td></td>
@@ -683,7 +691,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-271">RAT-271</a></td>
<td></td>
@@ -691,7 +699,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-267">RAT-267</a></td>
<td>reports</td>
@@ -699,7 +707,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-254">RAT-254</a></td>
<td></td>
@@ -707,7 +715,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-242">RAT-242</a></td>
<td>reports</td>
@@ -715,7 +723,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-234">RAT-234</a></td>
<td></td>
@@ -723,7 +731,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-230">RAT-230</a></td>
<td>maven</td>
@@ -731,7 +739,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-229">RAT-229</a></td>
<td></td>
@@ -739,7 +747,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-228">RAT-228</a></td>
<td>antlib</td>
@@ -747,7 +755,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-224">RAT-224</a></td>
<td></td>
@@ -755,7 +763,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-222">RAT-222</a></td>
<td></td>
@@ -763,7 +771,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-245">RAT-245</a></td>
<td></td>
@@ -771,7 +779,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-243">RAT-243</a></td>
<td>maven</td>
@@ -779,7 +787,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-241">RAT-241</a></td>
<td>maven</td>
@@ -787,7 +795,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-233">RAT-233</a></td>
<td></td>
@@ -795,7 +803,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-232">RAT-232</a></td>
<td></td>
@@ -803,7 +811,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-231">RAT-231</a></td>
<td></td>
@@ -811,7 +819,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-227">RAT-227</a></td>
<td>site</td>
@@ -819,7 +827,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-226">RAT-226</a></td>
<td>antlib</td>
@@ -827,7 +835,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-223">RAT-223</a></td>
<td></td>
@@ -835,7 +843,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-221">RAT-221</a></td>
<td>docs</td>
@@ -843,7 +851,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-218">RAT-218</a></td>
<td>maven</td>
@@ -851,7 +859,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-217">RAT-217</a></td>
<td></td>
@@ -859,7 +867,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-216">RAT-216</a></td>
<td></td>
@@ -867,7 +875,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-215">RAT-215</a></td>
<td></td>
@@ -875,7 +883,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-214">RAT-214</a></td>
<td></td>
@@ -883,7 +891,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-188">RAT-188</a></td>
<td>maven</td>
@@ -891,7 +899,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-180">RAT-180</a></td>
<td></td>
@@ -899,7 +907,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-179">RAT-179</a></td>
<td>antlib, maven</td>
@@ -907,7 +915,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-177">RAT-177</a></td>
<td></td>
@@ -915,21 +923,13 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-175">RAT-175</a></td>
<td></td>
<td>SourceCodeManagementSystems.hasIgnoreFile() should return boolean</td>
<td>Bug</td>
<td>Fixed</td>
-<td>Resolved</td></tr>
-<tr class="a">
-<td>0.12</td>
-<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-174">RAT-174</a></td>
-<td></td>
-<td>CDDL1License still very slow</td>
-<td>Bug</td>
-<td>Fixed</td>
<td>Resolved</td></tr></table></section>
</div>
</div>
diff --git a/rat0161/apache-rat-tasks/rat-report.html b/rat0161/apache-rat-tasks/rat-report.html
index 773af966..54dda846 100644
--- a/rat0161/apache-rat-tasks/rat-report.html
+++ b/rat0161/apache-rat-tasks/rat-report.html
@@ -129,7 +129,7 @@ Rat (Release Audit Tool) results
*****************************************************
Summary
-------
-Generated at: 2024-01-16T10:49:35+01:00
+Generated at: 2024-01-16T22:15:51+01:00
Notes: 0
Binaries: 0
diff --git a/rat0161/apache-rat/jira-report.html b/rat0161/apache-rat/jira-report.html
index a6a30df6..31066083 100644
--- a/rat0161/apache-rat/jira-report.html
+++ b/rat0161/apache-rat/jira-report.html
@@ -247,13 +247,21 @@ JIRA Report
<td>Closed</td></tr>
<tr class="b">
<td>0.16.1</td>
+<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-346">RAT-346</a></td>
+<td>scan</td>
+<td>WARN in case user defined License family has the same name as existing one</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>0.16.1</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-342">RAT-342</a></td>
<td></td>
<td>Use Maven wrapper in RAT build</td>
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-328">RAT-328</a></td>
<td>engine</td>
@@ -261,7 +269,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-326">RAT-326</a></td>
<td>site</td>
@@ -269,7 +277,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-315">RAT-315</a></td>
<td>build</td>
@@ -277,7 +285,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-314">RAT-314</a></td>
<td>maven</td>
@@ -285,7 +293,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-335">RAT-335</a></td>
<td></td>
@@ -293,7 +301,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-321">RAT-321</a></td>
<td>engine</td>
@@ -301,7 +309,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-320">RAT-320</a></td>
<td>cli</td>
@@ -309,7 +317,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-317">RAT-317</a></td>
<td></td>
@@ -317,7 +325,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-311">RAT-311</a></td>
<td></td>
@@ -325,7 +333,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-329">RAT-329</a></td>
<td>engine</td>
@@ -333,7 +341,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-322">RAT-322</a></td>
<td>cli, maven</td>
@@ -341,7 +349,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-264">RAT-264</a></td>
<td></td>
@@ -349,7 +357,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-251">RAT-251</a></td>
<td></td>
@@ -357,7 +365,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-338">RAT-338</a></td>
<td></td>
@@ -365,7 +373,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-316">RAT-316</a></td>
<td>engine</td>
@@ -373,7 +381,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.16</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-312">RAT-312</a></td>
<td></td>
@@ -381,7 +389,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-309">RAT-309</a></td>
<td></td>
@@ -389,7 +397,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-307">RAT-307</a></td>
<td></td>
@@ -397,7 +405,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-306">RAT-306</a></td>
<td>site</td>
@@ -405,7 +413,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-310">RAT-310</a></td>
<td></td>
@@ -413,7 +421,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.15</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-305">RAT-305</a></td>
<td></td>
@@ -421,7 +429,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-298">RAT-298</a></td>
<td></td>
@@ -429,7 +437,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-291">RAT-291</a></td>
<td></td>
@@ -437,7 +445,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-290">RAT-290</a></td>
<td></td>
@@ -445,7 +453,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-283">RAT-283</a></td>
<td></td>
@@ -453,7 +461,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-281">RAT-281</a></td>
<td></td>
@@ -461,7 +469,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-275">RAT-275</a></td>
<td></td>
@@ -469,7 +477,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-273">RAT-273</a></td>
<td></td>
@@ -477,7 +485,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-268">RAT-268</a></td>
<td>maven</td>
@@ -485,7 +493,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-258">RAT-258</a></td>
<td></td>
@@ -493,7 +501,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-257">RAT-257</a></td>
<td>cli</td>
@@ -501,7 +509,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-212">RAT-212</a></td>
<td></td>
@@ -509,7 +517,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-207">RAT-207</a></td>
<td>maven</td>
@@ -517,7 +525,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-158">RAT-158</a></td>
<td></td>
@@ -525,7 +533,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-304">RAT-304</a></td>
<td></td>
@@ -533,7 +541,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-297">RAT-297</a></td>
<td></td>
@@ -541,7 +549,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-289">RAT-289</a></td>
<td></td>
@@ -549,7 +557,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-287">RAT-287</a></td>
<td>site</td>
@@ -557,7 +565,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-285">RAT-285</a></td>
<td></td>
@@ -565,7 +573,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-277">RAT-277</a></td>
<td></td>
@@ -573,7 +581,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-274">RAT-274</a></td>
<td></td>
@@ -581,7 +589,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-270">RAT-270</a></td>
<td></td>
@@ -589,7 +597,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-269">RAT-269</a></td>
<td></td>
@@ -597,7 +605,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-266">RAT-266</a></td>
<td>maven</td>
@@ -605,7 +613,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-260">RAT-260</a></td>
<td></td>
@@ -613,7 +621,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-250">RAT-250</a></td>
<td></td>
@@ -621,7 +629,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-244">RAT-244</a></td>
<td></td>
@@ -629,7 +637,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-118">RAT-118</a></td>
<td>maven</td>
@@ -637,7 +645,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-262">RAT-262</a></td>
<td>scan</td>
@@ -645,7 +653,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-252">RAT-252</a></td>
<td></td>
@@ -653,7 +661,7 @@ JIRA Report
<td>New Feature</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-288">RAT-288</a></td>
<td>maven</td>
@@ -661,7 +669,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-279">RAT-279</a></td>
<td></td>
@@ -669,7 +677,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-271">RAT-271</a></td>
<td></td>
@@ -677,7 +685,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-267">RAT-267</a></td>
<td>reports</td>
@@ -685,7 +693,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.14</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-254">RAT-254</a></td>
<td></td>
@@ -693,7 +701,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-242">RAT-242</a></td>
<td>reports</td>
@@ -701,7 +709,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-234">RAT-234</a></td>
<td></td>
@@ -709,7 +717,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-230">RAT-230</a></td>
<td>maven</td>
@@ -717,7 +725,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-229">RAT-229</a></td>
<td></td>
@@ -725,7 +733,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-228">RAT-228</a></td>
<td>antlib</td>
@@ -733,7 +741,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-224">RAT-224</a></td>
<td></td>
@@ -741,7 +749,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-222">RAT-222</a></td>
<td></td>
@@ -749,7 +757,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-245">RAT-245</a></td>
<td></td>
@@ -757,7 +765,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-243">RAT-243</a></td>
<td>maven</td>
@@ -765,7 +773,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-241">RAT-241</a></td>
<td>maven</td>
@@ -773,7 +781,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-233">RAT-233</a></td>
<td></td>
@@ -781,7 +789,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-232">RAT-232</a></td>
<td></td>
@@ -789,7 +797,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-231">RAT-231</a></td>
<td></td>
@@ -797,7 +805,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-227">RAT-227</a></td>
<td>site</td>
@@ -805,7 +813,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-226">RAT-226</a></td>
<td>antlib</td>
@@ -813,7 +821,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-223">RAT-223</a></td>
<td></td>
@@ -821,7 +829,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-221">RAT-221</a></td>
<td>docs</td>
@@ -829,7 +837,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-218">RAT-218</a></td>
<td>maven</td>
@@ -837,7 +845,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-217">RAT-217</a></td>
<td></td>
@@ -845,7 +853,7 @@ JIRA Report
<td>Improvement</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.13</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-216">RAT-216</a></td>
<td></td>
@@ -853,7 +861,7 @@ JIRA Report
<td>Task</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-215">RAT-215</a></td>
<td></td>
@@ -861,7 +869,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-214">RAT-214</a></td>
<td></td>
@@ -869,7 +877,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Closed</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-188">RAT-188</a></td>
<td>maven</td>
@@ -877,7 +885,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-180">RAT-180</a></td>
<td></td>
@@ -885,7 +893,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-179">RAT-179</a></td>
<td>antlib, maven</td>
@@ -893,7 +901,7 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="a">
+<tr class="b">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-177">RAT-177</a></td>
<td></td>
@@ -901,21 +909,13 @@ JIRA Report
<td>Bug</td>
<td>Fixed</td>
<td>Resolved</td></tr>
-<tr class="b">
+<tr class="a">
<td>0.12</td>
<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-175">RAT-175</a></td>
<td></td>
<td>SourceCodeManagementSystems.hasIgnoreFile() should return boolean</td>
<td>Bug</td>
<td>Fixed</td>
-<td>Resolved</td></tr>
-<tr class="a">
-<td>0.12</td>
-<td><a class="externalLink" href="https://issues.apache.org/jira/browse/RAT-174">RAT-174</a></td>
-<td></td>
-<td>CDDL1License still very slow</td>
-<td>Bug</td>
-<td>Fixed</td>
<td>Resolved</td></tr></table></section>
</div>
</div>
diff --git a/rat0161/apache-rat/rat-report.html b/rat0161/apache-rat/rat-report.html
index e69cbbda..61bde2e5 100644
--- a/rat0161/apache-rat/rat-report.html
+++ b/rat0161/apache-rat/rat-report.html
@@ -115,7 +115,7 @@ Rat (Release Audit Tool) results
*****************************************************
Summary
-------
-Generated at: 2024-01-16T10:49:41+01:00
+Generated at: 2024-01-16T22:15:56+01:00
Notes: 1
Binaries: 0
diff --git a/rat0161/apidocs/index-all.html b/rat0161/apidocs/index-all.html
index d3b78c73..74c4051b 100644
--- a/rat0161/apidocs/index-all.html
+++ b/rat0161/apidocs/index-all.html
@@ -100,8 +100,10 @@
<dd>
<div class="block">Add a license header to a document.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender--">AbstractLicenseAppender()</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/AbstractLicenseAppender.html" title="class in org.apache.rat.annotation">AbstractLicenseAppender</a></dt>
-<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender-org.apache.rat.utils.Log-">AbstractLicenseAppender(Log)</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/AbstractLicenseAppender.html" title="class in org.apache.rat.annotation">AbstractLicenseAppender</a></dt>
+<dd>
+<div class="block">Constructor</div>
+</dd>
<dt><a href="org/apache/rat/analysis/matchers/AbstractMatcherContainer.html" title="class in org.apache.rat.analysis.matchers"><span class="typeNameLink">AbstractMatcherContainer</span></a> - Class in <a href="org/apache/rat/analysis/matchers/package-summary.html">org.apache.rat.analysis.matchers</a></dt>
<dd>
<div class="block">A class that implements IHeaderMatcher as a collection of other IHeaderMatchers.</div>
@@ -364,11 +366,11 @@
<div class="block">Add an Apache License V2 license header to a
document.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender--">ApacheV2LicenseAppender()</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html" title="class in org.apache.rat.annotation">ApacheV2LicenseAppender</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-org.apache.rat.utils.Log-">ApacheV2LicenseAppender(Log)</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html" title="class in org.apache.rat.annotation">ApacheV2LicenseAppender</a></dt>
<dd>
<div class="block">Create a license appender with the standard ASF license header.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-java.lang.String-">ApacheV2LicenseAppender(String)</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html" title="class in org.apache.rat.annotation">ApacheV2LicenseAppender</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html#ApacheV2LicenseAppender-org.apache.rat.utils.Log-java.lang.String-">ApacheV2LicenseAppender(Log, String)</a></span> - Constructor for class org.apache.rat.annotation.<a href="org/apache/rat/annotation/ApacheV2LicenseAppender.html" title="class in org.apache.rat.annotation">ApacheV2LicenseAppender</a></dt>
<dd>
<div class="block">Create a license appender with the given copyright line.</div>
</dd>
@@ -662,7 +664,7 @@
<dd>
<div class="block">Creates the spdx matcher.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-java.util.Collection-">createDefaultAnalyser(Collection<ILicense>)</a></span> - Static method in class org.apache.rat.analysis.<a href="org/apache/rat/analysis/DefaultAnalyserFactory.html" title="class in org.apache.rat.analysis">DefaultAnalyserFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-org.apache.rat.utils.Log-java.util.Collection-">createDefaultAnalyser(Log, Collection<ILicense>)</a></span> - Static method in class org.apache.rat.analysis.<a href="org/apache/rat/analysis/DefaultAnalyserFactory.html" title="class in org.apache.rat.analysis">DefaultAnalyserFactory</a></dt>
<dd>
<div class="block">Creates a DocumentAnalyser from a collection of ILicenses.</div>
</dd>
@@ -698,6 +700,8 @@
<dd>
<div class="block">Constructs a datum.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#debug-java.lang.Object-">debug(Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><a href="org/apache/rat/analysis/DefaultAnalyserFactory.html" title="class in org.apache.rat.analysis"><span class="typeNameLink">DefaultAnalyserFactory</span></a> - Class in <a href="org/apache/rat/analysis/package-summary.html">org.apache.rat.analysis</a></dt>
<dd>
<div class="block">Creates default analysers.</div>
@@ -806,6 +810,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/utils/ReportingSet.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.rat.utils.<a href="org/apache/rat/utils/ReportingSet.html" title="class in org.apache.rat.utils">ReportingSet</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#error-java.lang.Object-">error(Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><a href="org/apache/rat/mp/util/ExclusionHelper.html" title="class in org.apache.rat.mp.util"><span class="typeNameLink">ExclusionHelper</span></a> - Class in <a href="org/apache/rat/mp/util/package-summary.html">org.apache.rat.mp.util</a></dt>
<dd>
<div class="block">This class encapsulates the file/directory exclusion handling of RAT.</div>
@@ -1425,6 +1431,8 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/license/ILicenseFamilyBuilder.html#ILicenseFamilyBuilder--">ILicenseFamilyBuilder()</a></span> - Constructor for class org.apache.rat.license.<a href="org/apache/rat/license/ILicenseFamilyBuilder.html" title="class in org.apache.rat.license">ILicenseFamilyBuilder</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#info-java.lang.Object-">info(Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/Defaults.html#init--">init()</a></span> - Static method in class org.apache.rat.<a href="org/apache/rat/Defaults.html" title="class in org.apache.rat">Defaults</a></dt>
<dd>
<div class="block">Initialize the system configuration reader..</div>
@@ -1582,7 +1590,7 @@
<dd> </dd>
<dt><a href="org/apache/rat/report/claim/util/LicenseAddingReport.html" title="class in org.apache.rat.report.claim.util"><span class="typeNameLink">LicenseAddingReport</span></a> - Class in <a href="org/apache/rat/report/claim/util/package-summary.html">org.apache.rat.report.claim.util</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport-java.lang.String-boolean-">LicenseAddingReport(String, boolean)</a></span> - Constructor for class org.apache.rat.report.claim.util.<a href="org/apache/rat/report/claim/util/LicenseAddingReport.html" title="class in org.apache.rat.report.claim.util">LicenseAddingReport</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/rat/report/claim/util/LicenseAddingReport.html#LicenseAddingReport-org.apache.rat.utils.Log-java.lang.String-boolean-">LicenseAddingReport(Log, String, boolean)</a></span> - Constructor for class org.apache.rat.report.claim.util.<a href="org/apache/rat/report/claim/util/LicenseAddingReport.html" title="class in org.apache.rat.report.claim.util">LicenseAddingReport</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/ReportConfiguration.html#licenseDuplicateOption-org.apache.rat.utils.ReportingSet.Options-">licenseDuplicateOption(ReportingSet.Options)</a></span> - Method in class org.apache.rat.<a href="org/apache/rat/ReportConfiguration.html" title="class in org.apache.rat">ReportConfiguration</a></dt>
<dd>
@@ -1646,6 +1654,8 @@
<dd>
<div class="block">Writes a message at a specific log level.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#log-org.apache.rat.utils.Log.Level-java.lang.Object-">log(Log.Level, Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><a href="org/apache/rat/utils/Log.Level.html" title="enum in org.apache.rat.utils"><span class="typeNameLink">Log.Level</span></a> - Enum in <a href="org/apache/rat/utils/package-summary.html">org.apache.rat.utils</a></dt>
<dd>
<div class="block">The log levels supported by logging.</div>
@@ -2410,6 +2420,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/matchers/OrMatcher.html#reset--">reset()</a></span> - Method in class org.apache.rat.analysis.matchers.<a href="org/apache/rat/analysis/matchers/OrMatcher.html" title="class in org.apache.rat.analysis.matchers">OrMatcher</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html#reset--">reset()</a></span> - Method in class org.apache.rat.analysis.matchers.<a href="org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html" title="class in org.apache.rat.analysis.matchers">SPDXMatcherFactory.Match</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/UnknownLicense.html#reset--">reset()</a></span> - Method in class org.apache.rat.analysis.<a href="org/apache/rat/analysis/UnknownLicense.html" title="class in org.apache.rat.analysis">UnknownLicense</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/utils/ReportingSet.html#retainAll-java.util.Collection-">retainAll(Collection<?>)</a></span> - Method in class org.apache.rat.utils.<a href="org/apache/rat/utils/ReportingSet.html" title="class in org.apache.rat.utils">ReportingSet</a></dt>
@@ -2564,6 +2576,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/ReportConfiguration.html#setInputFileFilter-java.io.FilenameFilter-">setInputFileFilter(FilenameFilter)</a></span> - Method in class org.apache.rat.<a href="org/apache/rat/ReportConfiguration.html" title="class in org.apache.rat">ReportConfiguration</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/DefaultLog.html#setLevel-org.apache.rat.utils.Log.Level-">setLevel(Log.Level)</a></span> - Method in class org.apache.rat.utils.<a href="org/apache/rat/utils/DefaultLog.html" title="class in org.apache.rat.utils">DefaultLog</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/analysis/license/BaseLicense.html#setLicenseFamilyCategory-java.lang.String-">setLicenseFamilyCategory(String)</a></span> - Method in class org.apache.rat.analysis.license.<a href="org/apache/rat/analysis/license/BaseLicense.html" title="class in org.apache.rat.analysis.license">BaseLicense</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -3073,6 +3087,8 @@ the order they are declared.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/walker/Walker.html#Walker-java.lang.String-java.io.File-java.io.FilenameFilter-">Walker(String, File, FilenameFilter)</a></span> - Constructor for class org.apache.rat.walker.<a href="org/apache/rat/walker/Walker.html" title="class in org.apache.rat.walker">Walker</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/rat/utils/Log.html#warn-java.lang.Object-">warn(Object)</a></span> - Method in interface org.apache.rat.utils.<a href="org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/ReportConfiguration.NoCloseOutputStream.html#write-int-">write(int)</a></span> - Method in class org.apache.rat.<a href="org/apache/rat/ReportConfiguration.NoCloseOutputStream.html" title="class in org.apache.rat">ReportConfiguration.NoCloseOutputStream</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/rat/ReportConfiguration.NoCloseOutputStream.html#write-byte:A-int-int-">write(byte[], int, int)</a></span> - Method in class org.apache.rat.<a href="org/apache/rat/ReportConfiguration.NoCloseOutputStream.html" title="class in org.apache.rat">ReportConfiguration.NoCloseOutputStream</a></dt>
diff --git a/rat0161/apidocs/org/apache/rat/ReportConfiguration.html b/rat0161/apidocs/org/apache/rat/ReportConfiguration.html
index 2beadd85..f14f343b 100644
--- a/rat0161/apidocs/org/apache/rat/ReportConfiguration.html
+++ b/rat0161/apidocs/org/apache/rat/ReportConfiguration.html
@@ -747,7 +747,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - The OutputStream supplier that provides the output stream to write
- the report to. (may be null)</dd>
+ the report to. A null value will use System.out.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/rat/ReportConfiguration.NoCloseOutputStream.html" title="class in org.apache.rat"><code>ReportConfiguration.NoCloseOutputStream</code></a></dd>
</dl>
diff --git a/rat0161/apidocs/org/apache/rat/analysis/DefaultAnalyserFactory.html b/rat0161/apidocs/org/apache/rat/analysis/DefaultAnalyserFactory.html
index 879b9749..71c1e549 100644
--- a/rat0161/apidocs/org/apache/rat/analysis/DefaultAnalyserFactory.html
+++ b/rat0161/apidocs/org/apache/rat/analysis/DefaultAnalyserFactory.html
@@ -149,7 +149,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/rat/document/IDocumentAnalyser.html" title="interface in org.apache.rat.document">IDocumentAnalyser</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-java.util.Collection-">createDefaultAnalyser</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/analysis/DefaultAnalyserFactory.html#createDefaultAnalyser-org.apache.rat.utils.Log-java.util.Collection-">createDefaultAnalyser</a></span>(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses)</code>
<div class="block">Creates a DocumentAnalyser from a collection of ILicenses.</div>
</td>
</tr>
@@ -192,13 +193,14 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<!-- -->
</a>
<h3>Method Detail</h3>
-<a name="createDefaultAnalyser-java.util.Collection-">
+<a name="createDefaultAnalyser-org.apache.rat.utils.Log-java.util.Collection-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createDefaultAnalyser</h4>
-<pre>public static <a href="../../../../org/apache/rat/document/IDocumentAnalyser.html" title="interface in org.apache.rat.document">IDocumentAnalyser</a> createDefaultAnalyser(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses)</pre>
+<pre>public static <a href="../../../../org/apache/rat/document/IDocumentAnalyser.html" title="interface in org.apache.rat.document">IDocumentAnalyser</a> createDefaultAnalyser(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../org/apache/rat/license/ILicense.html" title="interface in org.apache.rat.license">ILicense</a>> licenses)</pre>
<div class="block">Creates a DocumentAnalyser from a collection of ILicenses.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
diff --git a/rat0161/apidocs/org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html b/rat0161/apidocs/org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html
index fc04c71d..87637c4e 100644
--- a/rat0161/apidocs/org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html
+++ b/rat0161/apidocs/org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -168,13 +168,19 @@ extends <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleM
<div class="block">Performs the actual match test.</div>
</td>
</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/rat/analysis/matchers/SPDXMatcherFactory.Match.html#reset--">reset</a></span>()</code>
+<div class="block">Resets this state <code>State.i</code>.</div>
+</td>
+</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.rat.analysis.matchers.AbstractSimpleMatcher">
<!-- -->
</a>
<h3>Methods inherited from class org.apache.rat.analysis.matchers.<a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html" title="class in org.apache.rat.analysis.matchers">AbstractSimpleMatcher</a></h3>
-<code><a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#currentState--">currentState</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#finalizeState--">finalizeState</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#matches-java.lang.String-">matches</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#reset--">reset</a></code></li>
+<code><a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#currentState--">currentState</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#finalizeState--">finalizeState</a>, <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#matches-java.lang.String-">matches</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.rat.analysis.matchers.AbstractHeaderMatcher">
@@ -207,7 +213,7 @@ extends <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleM
<a name="doMatch-java.lang.String-">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>doMatch</h4>
<pre>protected boolean doMatch(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> line)</pre>
@@ -223,6 +229,24 @@ extends <a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleM
</dl>
</li>
</ul>
+<a name="reset--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>reset</h4>
+<pre>public void reset()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/rat/analysis/IHeaderMatcher.html#reset--">IHeaderMatcher</a></code></span></div>
+<div class="block">Resets this state <code>State.i</code>.
+ If text is being cached this method should clear that cache.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/rat/analysis/IHeaderMatcher.html#reset--">reset</a></code> in interface <code><a href="../../../../../org/apache/rat/analysis/IHeaderMatcher.html" title="interface in org.apache.rat.analysis">IHeaderMatcher</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html#reset--">reset</a></code> in class <code><a href="../../../../../org/apache/rat/analysis/matchers/AbstractSimpleMatcher.html" title="class in org.apache.rat.analysis.matchers">AbstractSimpleMatcher</a></code></dd>
+</dl>
+</li>
+</ul>
</li>
</ul>
</li>
diff --git a/rat0161/apidocs/org/apache/rat/annotation/AbstractLicenseAppender.html b/rat0161/apidocs/org/apache/rat/annotation/AbstractLicenseAppender.html
index 5c44dce1..baa8e7b2 100644
--- a/rat0161/apidocs/org/apache/rat/annotation/AbstractLicenseAppender.html
+++ b/rat0161/apidocs/org/apache/rat/annotation/AbstractLicenseAppender.html
@@ -137,7 +137,9 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender--">AbstractLicenseAppender</a></span>()</code> </td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/rat/annotation/AbstractLicenseAppender.html#AbstractLicenseAppender-org.apache.rat.utils.Log-">AbstractLicenseAppender</a></span>(<a href="../../../../org/apache/rat/utils/Log.html" title="interface in org.apache.rat.utils">Log</a> log)</code>
+<div class="block">Constructor</div>
+</td>
</tr>
</table>
</li>
@@ -220,13 +222,18 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<!-- -->
</a>
<h3>Constructor Detail</h3>
-<a name="AbstractLicenseAppender--">
... 1355 lines suppressed ...