Luc... couldn't agree more regarding Serializable. Adding the Serializable
interface instantly means you not only have to be API compatible with future
releases but also binary Serializable compatible. This is what stung MTJ...
it means you can't swap internal details of fields.

I strongly recommend everybody read the Bloch chapters on Serialisation
before ever implementing that interface.


sebb-2-2 wrote:
> 
> On 21/05/2009, Luc Maisonobe <luc.maison...@free.fr> wrote:
> Nevertheless, adding serialization needs to be considered carefully,
> as pointed out here:
> 
> http://www.javapractices.com/topic/TopicAction.do?Id=45
> 
> Furthermore, readObject() cannot be used with final fields. Bloch
> (Effective Java) suggests using readResolve() instead, but even this
> has limitations.
> 
> As the book points out, merely making a class Serializable is
> equivalent to adding a public constructor which sets all the
> non-transient fields without perfoming any validation.
> 
> If there are any constraints on the fields, these have to be addressed
> in readObject() and/or readResolve() methods.
> 

-- 
View this message in context: 
http://www.nabble.com/commons-math%2C-matrix-toolkits-java-and-consolidation-tp23537813p23655263.html
Sent from the Commons - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to