Skip to content
This repository was archived by the owner on Nov 12, 2019. It is now read-only.

Commit f2f603c

Browse files
committed
Equalizer should support null value.
1 parent d327b37 commit f2f603c

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/main/java/difflib/DiffRowGenerator.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -185,12 +185,16 @@ private DiffRowGenerator(Builder builder) {
185185
columnWidth = builder.columnWidth; //
186186
defaultString = builder.defaultString;
187187
equalizer = new Equalizer<String>() {
188-
public boolean equals(String original, String revised) {
188+
public boolean equals(@Nullable String original, @Nullable String revised) {
189189
if (ignoreWhiteSpaces) {
190-
original = original.trim().replaceAll("\\s+", " ");
191-
revised = revised.trim().replaceAll("\\s+", " ");
190+
if (original != null) {
191+
original = original.trim().replaceAll("\\s+", " ");
192+
}
193+
if (revised != null) {
194+
revised = revised.trim().replaceAll("\\s+", " ");
195+
}
192196
}
193-
return original.equals(revised);
197+
return Objects.equals(original, revised);
194198
}
195199
};
196200
}

src/main/java/difflib/myers/Equalizer.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package difflib.myers;
22

3+
import javax.annotation.CheckReturnValue;
4+
import javax.annotation.Nullable;
5+
36
/**
47
* Specifies when two compared elements in the Myers algorithm are equal.
58
*
@@ -13,5 +16,6 @@ public interface Equalizer<T> {
1316
* @param revised The revised element. Must not be {@code null}.
1417
* @return Returns true if the elements are equal.
1518
*/
16-
public boolean equals(T original, T revised);
19+
@CheckReturnValue
20+
public boolean equals(@Nullable T original, @Nullable T revised);
1721
}

0 commit comments

Comments
 (0)