@@ -44,12 +44,12 @@ public final class LicenseHeaderStep implements Serializable {
44
44
"package-info.java" , "package-info.groovy" , "module-info.java" );
45
45
46
46
private final String licenseHeader ;
47
+ private final boolean hasYearToken ;
47
48
private final Pattern delimiterPattern ;
48
- private Pattern yearMatcherPattern ;
49
- private boolean hasYearToken ;
50
- private String licenseHeaderBeforeYearToken ;
51
- private String licenseHeaderAfterYearToken ;
52
- private String licenseHeaderWithYearTokenReplaced ;
49
+ private final Pattern yearMatcherPattern ;
50
+ private final String licenseHeaderBeforeYearToken ;
51
+ private final String licenseHeaderAfterYearToken ;
52
+ private final String licenseHeaderWithYearTokenReplaced ;
53
53
54
54
/** Creates a FormatterStep which forces the start of each file to match a license header. */
55
55
public static FormatterStep createFromHeader (String licenseHeader , String delimiter ) {
@@ -112,14 +112,19 @@ private LicenseHeaderStep(String licenseHeader, String delimiter, String yearSep
112
112
this .licenseHeader = licenseHeader ;
113
113
this .delimiterPattern = Pattern .compile ('^' + delimiter , Pattern .UNIX_LINES | Pattern .MULTILINE );
114
114
115
- if (getToken (licenseHeader ).isPresent ()) {
116
- String token = getToken (licenseHeader ).get ();
117
- this .hasYearToken = true ;
118
- int yearTokenIndex = licenseHeader .indexOf (token );
119
- this .licenseHeaderBeforeYearToken = licenseHeader .substring (0 , yearTokenIndex );
120
- this .licenseHeaderAfterYearToken = licenseHeader .substring (yearTokenIndex + 5 );
121
- this .licenseHeaderWithYearTokenReplaced = licenseHeader .replace (token , String .valueOf (YearMonth .now ().getYear ()));
122
- this .yearMatcherPattern = Pattern .compile ("[0-9]{4}(" + Pattern .quote (yearSeparator ) + "[0-9]{4})?" );
115
+ Optional <String > yearToken = getYearToken (licenseHeader );
116
+ this .hasYearToken = yearToken .isPresent ();
117
+ if (hasYearToken ) {
118
+ int yearTokenIndex = licenseHeader .indexOf (yearToken .get ());
119
+ licenseHeaderBeforeYearToken = licenseHeader .substring (0 , yearTokenIndex );
120
+ licenseHeaderAfterYearToken = licenseHeader .substring (yearTokenIndex + 5 );
121
+ licenseHeaderWithYearTokenReplaced = licenseHeader .replace (yearToken .get (), String .valueOf (YearMonth .now ().getYear ()));
122
+ yearMatcherPattern = Pattern .compile ("[0-9]{4}(" + Pattern .quote (yearSeparator ) + "[0-9]{4})?" );
123
+ } else {
124
+ licenseHeaderBeforeYearToken = null ;
125
+ licenseHeaderAfterYearToken = null ;
126
+ licenseHeaderWithYearTokenReplaced = null ;
127
+ yearMatcherPattern = null ;
123
128
}
124
129
}
125
130
@@ -130,7 +135,7 @@ private LicenseHeaderStep(String licenseHeader, String delimiter, String yearSep
130
135
* @param licenseHeader String representation of the license header
131
136
* @return Matching value from YEAR_TOKENS or null if none exist
132
137
*/
133
- private Optional <String > getToken (String licenseHeader ) {
138
+ private static Optional <String > getYearToken (String licenseHeader ) {
134
139
return YEAR_TOKENS .stream ().filter (licenseHeader ::contains ).findFirst ();
135
140
}
136
141
0 commit comments