Skip to content

Commit c747f4f

Browse files
committed
Implement equals() and hashCode() for LocalizedMessageFactory
1 parent bffd590 commit c747f4f

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessageFactory.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
*/
1717
package org.apache.logging.log4j.message;
1818

19+
import org.jspecify.annotations.Nullable;
20+
21+
import java.util.Objects;
1922
import java.util.ResourceBundle;
2023

2124
/**
@@ -33,8 +36,11 @@
3336
public class LocalizedMessageFactory extends AbstractMessageFactory {
3437
private static final long serialVersionUID = -1996295808703146741L;
3538

39+
@Nullable
3640
// FIXME: cannot use ResourceBundle name for serialization until Java 8
3741
private final transient ResourceBundle resourceBundle;
42+
43+
@Nullable
3844
private final String baseName;
3945

4046
public LocalizedMessageFactory(final ResourceBundle resourceBundle) {
@@ -92,4 +98,21 @@ public Message newMessage(final String key, final Object... params) {
9298
}
9399
return new LocalizedMessage(resourceBundle, key, params);
94100
}
101+
102+
@Override
103+
public boolean equals(final Object object) {
104+
if (this == object) {
105+
return true;
106+
}
107+
if (object == null || getClass() != object.getClass()) {
108+
return false;
109+
}
110+
final LocalizedMessageFactory that = (LocalizedMessageFactory) object;
111+
return Objects.equals(resourceBundle, that.resourceBundle) && Objects.equals(baseName, that.baseName);
112+
}
113+
114+
@Override
115+
public int hashCode() {
116+
return Objects.hash(resourceBundle, baseName);
117+
}
95118
}

0 commit comments

Comments
 (0)