I'll try and explain my problem as concisely and clearly as possible. I feel that what I'm trying might inherently be wrong, but somehow I believe it should work. So please feel free to treat this post as a mere clarification about the Serialization mechanism.
So, I have an Interface implemented by a class [it's implied they exist in separate files].
Now I serialize an instance of SomeImplclass:
Now in a separate project, I have a JAR of the application above which contains the interface SomeInterface, but not the implementation class SomeImpl. In this application if I try to do the following:
... I get a ClassNotFoundException [for SomeImp]. Now I know that my other project does NOT have the SomeImpl class in its classpath. But shouldn't casting into a reference of the parent interface take care of that dependency?
but any suggestions as to how can one deal with a scenario where the serialised instances can be of any class adhering to a contract specified by an interface, where the de-serialiser isn't aware of which particular implementation has been used to serialise. And since the de-serialiser relies only on the contract, there's no need for it to have all available implementation classes in its classpath.
Humans and their filthy friendship brings nothing but trouble. My only solace is this tiny ad: