Hi,
In one of the recent postings Peter said:
My understanding is merely that you will have some client-side "Data-like object" in networked mode. (I suspect that Sun included this requirement to force your architecture into a certain direction; there have been a number of posts about this). This object will have constructors that are different from those of Data for the simple reason that the networked mode works completely differently.
My understanding is also that there is a requirement for this object to exist. That doesn't mean you have to write that class yourself; an rmic-generated class can well satisfy the requirement. I personally used RMI in my project, and had a server-side Remote class implementing the Data interface. The rmic-generated stub for this class satisfies the requirement quoted above in every respect.
If i use a ConnectionFactory (which is a valid remote object) to return to me a RemoteData object (which does implement the Data interface), the only rmic-generated classes will be those for ConnectionFactory, NOT for the RemoteData. I was also under the impression (unless i am mistaken) that Peter implemented his client-ID scheme using a similar approach (Connection obect is a remote one, it's exposed for access and when clients get a hold of it, they ask it to return some kind of "RemoteData" object to each client to act as a client-ID along with it's other functions). This RemoteData object is not a remote object, in the sense ConectionFactory is, so there are no rmic-generated files to act as this client-side "proxy" object mentioned in Peter's quote above (and specified in the the requirements, of course). So how did Peter accomplish this task, i don't understand? Any comment is appreciated.
-lev