Patent ID: 7260816

Claim:
A method in a data processing system that implements an object-oriented software environment for translating method calls to version-specific method calls, said method comprising the steps of: providing an interface to an underlying object, applications utilizing said interface to communicate with said underlying object, said interface being separate from said underlying object; generating a plurality of version-specific underlying objects, each one of said version-specific underlying objects being a different version of said underlying object; generating a plurality of translation objects, each one of said plurality of translation objects for communicating between said interface and a different one of said version-specific underlying objects; each one of said plurality of translation objects including a proxy instance and an invocation handler instance; receiving, by a particular one of said plurality of translation objects, a particular interface method call that was invoked on said interface, said particular one of said plurality of translation objects for communicating between said interface and a particular one of said version-specific underlying objects, said particular interface method call including a name and formal parameters; translating, by a particular invocation handler instance that is included in said particular one of said plurality of translation objects, said particular interface method call by determining a version-specific method call that corresponds to said particular interface method call using said name and said formal parameters of said particular interface method call; invoking, by said particular invocation handler instance, said version-specific method call; wherein, said plurality of translation objects are used to translate interface method calls that were invoked on said interface to corresponding version-specific method calls for each version of said underlying object; and generating said plurality of translation objects from a single proxy class and a single invocation handler class, wherein the same proxy class and invocation handler class are used to generate said plurality of translation objects.