As part of
https://jira.jboss.org/browse/ISPN-246, we're gonna be making Externalizer
interface
(
http://docs.jboss.org/infinispan/4.2/apidocs/org/infinispan/marshall/Exte...)
even more public allowing users to provide their own externalizer implementations.
I had a brief scan and it seems like (or so should be unless it's a very strange
externalizer), that all Externalizers are symmetric. IOW, whatever type the writeObject()
object is passed, that's the type we return in readObject(). So, I was thinking of
generalizing Externalizer to look something like this:
interface Externalizer<T> {
void writeObject(ObjectOutput output, T object) throws IOException;
T readObject(ObjectInput input) throws IOException, ClassNotFoundException;
}
Does anyone have any objections? This would safe a lot of casting in implementations,
making externalizers easier to code and type safer.
Cheers,
p.s. This would only be included in 5.x.
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache