eirikbakke commented on code in PR #8407:
URL: https://github.com/apache/netbeans/pull/8407#discussion_r2035239124
##########
platform/openide.dialogs/src/org/openide/NotifyDescriptor.java:
##########
@@ -129,24 +130,50 @@ public class NotifyDescriptor extends Object {
*/
public static final String PROP_INFO_NOTIFICATION = "infoNotification"; //
NOI18N
+ /**
+ * Used to be a <code>new Integer(JOptionPane.FOO_OPTION)</code> instance.
+ *
+ * For compatibility reasons the public Object constants must have distinct
+ * identity, but equals must behave like Integer's equals and compare only
+ * the wrapped int like a Record.
+ */
+ private record ReturnValue(int option) implements Serializable,
Comparable<ReturnValue> {
+
+ @Override
+ public String toString() {
+ return String.valueOf(option);
+ }
+
+ @Override
+ public int hashCode() {
+ return Integer.hashCode(option);
+ }
+
+ @Override
+ public int compareTo(ReturnValue other) {
+ return Integer.compare(option, other.option);
+ }
+
+ }
+
//
// Return values
//
/** Return value if YES is chosen. */
- public static final Object YES_OPTION = new
Integer(JOptionPane.YES_OPTION);
+ public static final Object YES_OPTION = new
ReturnValue(JOptionPane.YES_OPTION);
Review Comment:
Before the patch, NotifyDescriptor.YES_OPTION.equals(JOptionPane.YES_OPTION)
returns true.
After the patch, it will return false.
Is that a problem?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists