<Swing Dev> Add Look&Feel support for AIX platform

Tom Hawtin tom.hawtin at oracle.com
Tue Oct 18 11:27:22 UTC 2011


On 18/10/2011 11:15, Steve Poole wrote:
> On Tue, 2011-10-18 at 15:53 +0800, Sean Chou wrote:
>
> Hi Sean,   I wonder if the inclusion of AIX in the enum is at the wrong
> point?    You've added it before UNKNOWN which makes logical sense - but
> you have changed UNKNOWN's ordinal value so if the enum is
> serialised/deserialised  then you could in theory break  something
> relying on UNKNOWN being the 4th entry
>
> Its a small point and unlikely to happen I expect but I thought I'd
> point it out.

It does change the ordinal but it's not a technically binary 
compatibility change as defined by the JLS (3rd Ed. 13.4.26). The 
behavioural change by insertion is less significant as the results from 
compareTo select the same sort order.

http://java.sun.com/docs/books/jls/third_edition/html/binaryComp.html#13.4.26

"13.4.26 Evolution of Enums

"Adding or reordering constants from an enum type will not break 
compatibility with pre-existing binaries.
If a precompiled binary attempts to access an enum constant that no 
longer exists, the client will fail at runtime with a NoSuchFieldError. 
Therefore such a change is not recommended for widely distributed enums.

"In all other respects, the binary compatibility rules for enums are 
identical to those for classes."


Java Serialisation serialises enums by name rather than just ordinal.

Tom



More information about the swing-dev mailing list