@@ -74,6 +74,15 @@ public static class Builder {
74
74
private int columnWidth = 80 ;
75
75
@ Nullable
76
76
private String defaultString = "" ;
77
+ private Equalizer <String > stringEqualizer = new Equalizer <String >() {
78
+ public boolean equals (String original , String revised ) {
79
+ if (ignoreWhiteSpaces ) {
80
+ original = original .trim ().replaceAll ("\\ s+" , " " );
81
+ revised = revised .trim ().replaceAll ("\\ s+" , " " );
82
+ }
83
+ return original .equals (revised );
84
+ }
85
+ };;
77
86
78
87
/**
79
88
* Show inline diffs in generating diff rows or not.
@@ -154,7 +163,18 @@ public Builder defaultString(@Nullable String defaultString) {
154
163
}
155
164
156
165
/**
157
- * Build the DiffRowGenerator. If some parameters is not set, the default values are used.
166
+ * Set the custom equalizer to use while comparing the lines of the revisions.
167
+ * @param stringEqualizer to use (custom one)
168
+ * @return builder with configured stringEqualizer
169
+ */
170
+ public Builder stringEqualizer (Equalizer <String > stringEqualizer ) {
171
+ this .stringEqualizer = stringEqualizer ;
172
+ return this ;
173
+ }
174
+
175
+ /**
176
+ * Build the DiffRowGenerator using the default Equalizer for rows.
177
+ * If some parameters are not set, the default values are used.
158
178
* @return the customized DiffRowGenerator
159
179
*/
160
180
public DiffRowGenerator build () {
@@ -171,19 +191,7 @@ private DiffRowGenerator(Builder builder) {
171
191
InlineNewCssClass = builder .InlineNewCssClass ;
172
192
columnWidth = builder .columnWidth ; //
173
193
defaultString = builder .defaultString ;
174
- equalizer = new Equalizer <String >() {
175
- public boolean equals (@ Nullable String original , @ Nullable String revised ) {
176
- if (ignoreWhiteSpaces ) {
177
- if (original != null ) {
178
- original = original .trim ().replaceAll ("\\ s+" , " " );
179
- }
180
- if (revised != null ) {
181
- revised = revised .trim ().replaceAll ("\\ s+" , " " );
182
- }
183
- }
184
- return Objects .equals (original , revised );
185
- }
186
- };
194
+ equalizer = builder .stringEqualizer ;
187
195
}
188
196
189
197
/**
0 commit comments