<Swing Dev> RFR: 8259522: Apply java.io.Serial annotations in java.desktop
Sergey Bylokhov
serb at openjdk.java.net
Mon Jan 11 08:19:19 UTC 2021
Please review the application of @java.io.Serial annotation (JDK-8202385) to types in the desktop module to enable stricter compile-time checking of serialization-related declarations.
This annotation can be applied to these methods in the module:
private void writeObject(java.io.ObjectOutputStream stream) throws IOException
private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException
private void readObjectNoData() throws ObjectStreamException
ANY-ACCESS-MODIFIER Object writeReplace() throws ObjectStreamException
ANY-ACCESS-MODIFIER Object readResolve() throws ObjectStreamException
private static final ObjectStreamField[] serialPersistentFields
private static final long serialVersionUID
Notes:
- I have tried to update the comments for serialVersionUID as accurately as possible, but mostly based on the source code history and bugs in JBS where that field was added
- Some of the readObject/writeObject methods in the javax.swing package does not have a spec, because this package and some others are excluded from the serialization specification.
A similar fix was implemented for java.base module as well:
http://mail.openjdk.java.net/pipermail/core-libs-dev/2019-August/062046.html
-------------
Commit messages:
- Update TextAttribute.java
- Update readResolve
- Update writeReplace
- Update readObject
- Update writeObject
- Update serialPersistentFields
- Update serialVersionUID
Changes: https://git.openjdk.java.net/jdk/pull/2020/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2020&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8259522
Stats: 3426 lines in 343 files changed: 2268 ins; 287 del; 871 mod
Patch: https://git.openjdk.java.net/jdk/pull/2020.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2020/head:pull/2020
PR: https://git.openjdk.java.net/jdk/pull/2020
More information about the swing-dev
mailing list