Method and apparatus for class version naming and mapping
First Claim
1. An apparatus comprising:
- a CPU coupled to a bus;
a memory coupled to the bus;
a version mapping mechanism residing in the memory, the version mapping mechanism including a mapping of classes to preferred class versions; and
a version loader object residing in the memory, wherein the version loader object, in response to a request to load a requested class, checks the version mapping mechanism to determine a preferred version of the requested class and then loads the preferred version of the requested class.
1 Assignment
0 Petitions
Accused Products
Abstract
According to a preferred embodiment of the present invention, a class versioning and mapping system allows a user to request a desired class without knowing which class version is the most recent or correct version for the desired class. The class versioning and mapping system uses a version mapping mechanism to cross reference the requested class, select the most recent or best version of the requested class, and then return an object to the user that belongs to the selected class. This feature allows the system to have multiple versions of the same class on-line at the same time and use objects from different versions of the same class in a way that is transparent to the user. Therefore, by using a preferred embodiment of the present invention, a client object can specify or request that an object be created without having any knowledge of the actual class version or version(s) that are available.
128 Citations
41 Claims
-
1. An apparatus comprising:
-
a CPU coupled to a bus; a memory coupled to the bus; a version mapping mechanism residing in the memory, the version mapping mechanism including a mapping of classes to preferred class versions; and a version loader object residing in the memory, wherein the version loader object, in response to a request to load a requested class, checks the version mapping mechanism to determine a preferred version of the requested class and then loads the preferred version of the requested class. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of providing versioning for classes in an object-oriented environment, the method comprising the steps of:
-
sending a request for a requested class to a version loader object; the version loader object checking a version mapping mechanism to determine a preferred version of the requested class, the version mapping mechanism including a mapping of classes to preferred class versions; and the version loader object loading the preferred class version of the requested class. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A program product comprising:
-
a version loader object that, in response to a request to load a requested class, checks a version mapping mechanism comprising a mapping of classes to preferred class versions to determine a preferred version of the requested class and then loads the preferred version of the requested class; and signal bearing media bearing the version loader object. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An apparatus, the apparatus comprising:
-
a CPU coupled to a bus; a memory coupled to the bus; a plurality of version mapping mechanisms residing in the memory, each version mapping mechanism including a mapping of classes to preferred class versions; and a plurality of version loader objects residing in the memory, wherein each of the plurality of version loader objects, in response to a request to load a requested class, checks a different version mapping mechanism to determine a preferred version of the requested class and then loads the preferred version of the requested class. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. An apparatus, the apparatus comprising:
-
a CPU coupled to a bus; a memory coupled to the bus; a plurality of user interfaces residing in the memory; a plurality of version mapping mechanisms residing in the memory each version mapping mechanism including a mapping of classes to preferred class versions; a plurality of class loader objects residing in the memory; and wherein each of the plurality of user interfaces, in response to a request to load a requested class, checks a different version mapping mechanism to determine a preferred version of the requested class and then loads the preferred version of the requested class. - View Dependent Claims (34, 35, 36)
-
-
37. A JAVA virtual machine apparatus for implementing class versioning and naming, the apparatus comprising:
-
a CPU coupled to a bus; a memory coupled to the bus; a JAVA virtual machine residing in the memory; a plurality of class versions residing in the memory; a plurality of version mapping mechanisms residing in the memory, each version mapping mechanism including a mapping of classes to preferred class versions; a plurality of class loader objects residing in the memory; and wherein each of the plurality of class loader objects, in response to a request to load a requested class, checks a different version mapping mechanism to determine a preferred version of the requested class and then loads the preferred version of the requested class.
-
-
38. An apparatus, the apparatus comprising:
-
a CPU coupled to a bus; a memory coupled to the bus; a JAVA class file residing in the memory, the JAVA class file having a name; a version mapping mechanism residing in the memory, the version mapping mechanism including a mapping of classes to preferred class versions and their names; a class loader object residing in the memory; and wherein the class loader object, in response to a request to load a requested JAVA class, checks the version mapping mechanism to determine a preferred version of the requested JAVA class, modifies the name of the preferred JAVA class file to the name the requested JAVA class, and then loads the preferred version of the requested JAVA class. - View Dependent Claims (39, 40)
-
-
41. A class versioning and naming apparatus, the apparatus comprising:
-
a CPU coupled to a bus; a memory coupled to the bus; a plurality of JAVA packages residing in the memory;
each of the plurality of JAVA packages having a JAVA package name;a version mapping mechanism residing in the memory, the version mapping mechanism including a mapping of classes to preferred class versions and their names; a version loader object residing in the memory; wherein the JAVA package name for each of the plurality of JAVA packages has a different class version identifier included in the JAVA package name, wherein the version loader object uses the class version identifier included in the JAVA package name to identify the class version of the JAVA package, and wherein in response to a request to load a requested JAVA class, the version loader object checks the version mapping mechanism using the version class identifier to determine a preferred version of the requested JAVA class, then loads the preferred version of the requested JAVA class.
-
Specification