Patent ID: 7406695

Claim:
A computer program product tangibly embodied in a machine-readable storage device, the product comprising instructions operable to cause data processing apparatus to: receive an application call to a method defined in an extension object interface included in the application and implemented by an extension object; implement the extension object by an application extension, the application extension having two or more extension object implementations of the extension object, each extension object implementation providing a distinct extension method implementation, each extension method implementation being an implementation of the method defined in the extension object interface; register the extension object in an extension registry, the extension registry being part of an application extension runtime environment, the application extension runtime environment further having an extension factory and an extension repository; identify by the extension factory at least one of the two or more extension object implementations registered in the extension registry; obtain multiple extension results by calling each of the two or more extension object implementations, each of the two or more extension object implementations producing a respective extension result responsive to the application call; use a result handler that is implemented by the extension object to evaluate the multiple extension results from the two or more extension object implementations after all of the extension object implementations have been called and use the result handler to determine results to be returned to the application call; and respond to the application call with the results to be returned.