8028027: serialver should emit declaration with the 'private' modifier

Yuri Gaevsky ygaevsky at azulsystems.com
Fri Nov 8 09:45:11 UTC 2013


Hi Stuart,

Unfortunately, several Java SE interfaces have public SVUIDs, so the fix can cause confusion:

$ serialver java.security.PublicKey
java.security.PublicKey:    private static final long serialVersionUID = 7187392471159151072L;

$ javap java.security.PublicKey
Compiled from "PublicKey.java"
public interface java.security.PublicKey extends java.security.Key {
  public static final long serialVersionUID;
}

Thanks,
-Yuri

-----Original Message-----
From: core-libs-dev-bounces at openjdk.java.net [mailto:core-libs-dev-bounces at openjdk.java.net] On Behalf Of Stuart Marks
Sent: Friday, November 8, 2013 7:03 AM
To: core-libs-dev
Subject: RFR: 8028027: serialver should emit declaration with the 'private' modifier

Hi all,

Please review this quick one-liner to change the serialver tool so that it emits a serialVersionUID declaration with the 'private' modifier, which comports with the recommendation in the java.io.Serializable page.

Bug:

     https://bugs.openjdk.java.net/browse/JDK-8028027

Patch appended below.

Thanks,

s'marks


----------


# HG changeset patch
# User smarks
# Date 1383868023 28800
# Node ID 1e1088bfea50d7d3cc7cfdce2b0085b7adc6a180
# Parent  f18b60bd22a1be988d329960c46d504f4b75000f
8028027: serialver should emit declaration with the 'private' modifier
Reviewed-by: XXX

diff -r f18b60bd22a1 -r 1e1088bfea50
src/share/classes/sun/tools/serialver/SerialVer.java
--- a/src/share/classes/sun/tools/serialver/SerialVer.java	Thu Nov 07 15:45:21 
2013 -0800
+++ b/src/share/classes/sun/tools/serialver/SerialVer.java	Thu Nov 07 15:47:03 
2013 -0800
@@ -211,7 +211,7 @@
          Class<?> cl = Class.forName(classname, false, loader);
          ObjectStreamClass desc = ObjectStreamClass.lookup(cl);
          if (desc != null) {
-            return "    static final long serialVersionUID = " +
+            return "    private static final long serialVersionUID = " +
                  desc.getSerialVersionUID() + "L;";
          } else {
              return null;



More information about the core-libs-dev mailing list