@@ -74,6 +74,15 @@ public static class Builder {
7474 private int columnWidth = 80 ;
7575 @ Nullable
7676 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+ };;
7786
7887 /**
7988 * Show inline diffs in generating diff rows or not.
@@ -154,7 +163,18 @@ public Builder defaultString(@Nullable String defaultString) {
154163 }
155164
156165 /**
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.
158178 * @return the customized DiffRowGenerator
159179 */
160180 public DiffRowGenerator build () {
@@ -171,19 +191,7 @@ private DiffRowGenerator(Builder builder) {
171191 InlineNewCssClass = builder .InlineNewCssClass ;
172192 columnWidth = builder .columnWidth ; //
173193 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 ;
187195 }
188196
189197 /**
0 commit comments