US5732263AExpiredUtility

Systems, methods and computer program products for generating and validating user defined object classes in an object oriented programming environment after build time

65
Assignee: IBMPriority: Oct 3, 1995Filed: Oct 3, 1995Granted: Mar 24, 1998
Est. expiryOct 3, 2015(expired)· nominal 20-yr term from priority
G06F 9/449Y10S707/99944
65
PatentIndex Score
72
Cited by
23
References
22
Claims

Abstract

User-created object classes may be generated after build-time without requiring modification to and recompiling of the program code. Every class within an object oriented programming environment is assigned a unique class identifier. Every class within a particular hierarchy is assigned a selector identifier. The exemplary class comprises a registration table having a vendor class portion and a user class portion. Classes defined at build-time are registered in the vendor portion of the registration table. User-created object classes are assigned selector identifiers having values of existing classes. These selector identifiers, along with the respective name of the user-created object class, are registered in the user class portion of the registration table. The instantiation of objects from user-created object classes is handled by searching the user class portion of the registration table prior to the vendor class portion. Object validation is achieved by searching the subclass table of the object class for the appropriate class identifier.

Claims

exact text as granted — not AI-modified
That which is claimed: 
     
       1. A method of generating a user defined object class after build-time in an object oriented computing environment on a computing platform including first and second object classes arranged in an inheritance hierarchy, wherein said second object class is derived from said first object class, said first and second object classes generated before build-time, said method comprising the steps of: providing said first and second object classes with respective first and second selector identifiers;   providing said first and second object classes with respective first and second class identifiers;   registering said first and second selector identifiers with respective first and second object class names in a first portion of a registration table linked to said first object class;   registering said first and second class identifiers with respective first and second object class names in a first subclass table linked to said first object class; and   registering said second class identifier with said second object class name in a second subclass table linked to said second object class.   
     
     
       2. A method according to claim 1, wherein the following steps are performed to generate a user defined object class after build-time: deriving a third object class having a third subclass table from said second object class;   assigning a value of said second object class selector identifier to a third object class selector identifier;   registering said assigned third object class selector value with a third object class name in a second portion of the first object class registration table;   assigning a unique class identifier to said third object class; and   registering said assigned unique class identifier with said third object class name in each one of said first, second, and third subclass tables.   
     
     
       3. A method according to claim 2, wherein the following steps are performed to instantiate an object from a user defined object class generated after build-time: transmitting, to said first object class, a request to instantiate an object from said third object class coupled with the value of said third object class selector identifier;   searching said first object class registration table for said transmitted selector identifier value, wherein said second portion of said first object class registration table is searched prior to said first portion of said first object class registration table; and instantiating an object from the object class registered in the registration table having a selector identifier value first matching the transmitted selector identifier value.   
     
     
       4. A method according to claim 3, wherein the following steps are performed to validate an object instantiated from a user defined object class generated after build-time: transmitting, to said third object class; the value of the class identifier of said third object class;   searching for the transmitted class identifier value and associated object class name in the subclass table of said third object class; and   requesting the identified object class to verify that its class identifier value matches the class identifier value of the object class requested.   
     
     
       5. A method according to claim 1, wherein said first object class is an exemplar object class. 
     
     
       6. A method for generating a user defined object class after build-time according to claim 2, further comprising the steps of modifying or deleting attributes inherited from said second object class. 
     
     
       7. A method for generating a user defined object class after build-time according to claim 2, further comprising the steps of modifying or deleting methods inherited from said second object class. 
     
     
       8. A system for generating a user defined object class after build-time in an object oriented computing environment on a computing platform including first and second object classes arranged in an inheritance hierarchy, wherein said second object class is derived from said first object class, said first and second object classes generated before build-time, said system comprising: means for providing said first and second object classes with respective first and second selector identifiers;   means for providing said first and second object classes with respective first and second class identifiers;   a registration table linked to said first object class;   means for registering said first and second selector identifiers with respective first and second object class names in a first portion of said registration table;   a first subclass table linked to said first object class;   a second subclass table linked to said second object class;   means for registering said first and second class identifiers with respective first and second object class names in said first subclass table; and   means for registering said second class identifier with said second object class name in said second subclass table.   
     
     
       9. A system according to claim 8, further comprising: means for deriving a third object class having a third subclass table from said second object class;   means for assigning a value of said second object class selector identifier to a third object class selector identifier;   means for registering said assigned third object class selector value with a third object class name in a second portion of the first object class registration table;   means for assigning a unique class identifier to said third object class; and   means for registering said assigned unique class identifier with said third object class name in each one of said first, second, and third subclass tables.   
     
     
       10. A system according to claim 9, further comprising: means for transmitting, to the first object class, a request to instantiate an object from said third object class coupled with the value of the third object class selector identifier;   means for searching said first object class registration table for said transmitted selector identifier value wherein said second portion of said first object class registration table is searched prior to said first portion of said first object class registration table; and   means for instantiating an object from the object class registered in the registration table with a selector identifier value first matching the transmitted selector identifier value.   
     
     
       11. A system according to claim 10, further comprising: means for transmitting, to the third object class, the value of the class identifier of the third object class;   means for searching for the transmitted value and associated object class name of the class identifier in the subclass table of said third object class; and   means for requesting the identified object class to verify that its class identifier value matches the class identifier value of the object class requested.   
     
     
       12. A system according to claim 8, wherein said first object class is an exemplar object class. 
     
     
       13. A system according to claim 9, further comprising means for modifying or deleting attributes inherited from said second object class. 
     
     
       14. A system according to claim 9, further comprising means for modifying or deleting methods inherited from said second object class. 
     
     
       15. A computer program product comprising: a computer usable medium having computer readable program code means embodied in said medium for generating a new object class after build-time in an object oriented computing environment on a computing platform including first and second object classes arranged in an inheritance hierarchy, wherein said second object class is derived from said first object class, said first and second object classes generated before build-time;   computer readable program code means for providing said first and second object classes with respective first and second selector identifiers;   computer readable program code means for providing said first and second object classes with respective first and second class identifiers;   computer readable program code means for registering said first and second selector identifiers with respective first and second object class names in a first portion of a registration table linked to said first object class;   computer readable program code means for registering said first and second class identifiers with respective first and second object class names in a first subclass table linked to said first object class; and   computer readable program code means for registering said second class identifier with said second object class name in a second subclass table linked to said second object class.   
     
     
       16. A computer program product according to claim 15, further comprising: computer readable program code means for deriving a third object class having a third subclass table from said second object class;   computer readable program code means for assigning a value of said second object class selector identifier to a third object class selector identifier;   computer readable program code means for registering said assigned third object class selector value with a third object class name in a second portion of the first object class registration table;   computer readable program code means for assigning a unique class identifier to said third object class; and   computer readable program code means for registering said assigned unique class identifier with said third object class name in each one of said first, second, and third subclass tables.   
     
     
       17. A computer program product according to claim 16, further comprising: computer readable program code means for transmitting, to the first object class, a request to instantiate an object from said third object class coupled with the value of the third object class selector identifier;   computer readable program code means for searching said first object class registration table for said transmitted selector identifier value wherein said second portion of said first object class registration table is searched prior to said first portion of said first object class registration table; and   computer readable program code means for instantiating an object from the object class registered in the registration table with a selector identifier value first matching the transmitted selector identifier value.   
     
     
       18. A computer program product according to claim 17, further comprising: computer readable program code means for transmitting, to the third object class, the value of the class identifier of the third object class;   computer readable program code means for searching for the transmitted value and associated object class name of the class identifier in the subclass table of said third object class; and   computer readable program code means for requesting the identified object class to verify that its class identifier value matches the class identifier value of the object class requested.   
     
     
       19. A computer program product according to claim 16, further comprising computer readable program code means for modifying or deleting attributes inherited from said second object class. 
     
     
       20. A computer program product according to claim 16, further comprising computer readable program code means for modifying or deleting methods inherited from said second object class. 
     
     
       21. A method for substituting run-time generated object classes for build-time generated object classes in an object oriented computing system, said object oriented computing system comprising a parent object class and a plurality of child object classes generated at build-time, each one of said child classes having a unique identifier, said parent object class having a list for calling the build-time child object classes via their respective identifiers, said method comprising the steps of: generating a child object class at run-time;   assigning to the run-time generated child object class the identifier of one of the build-time generated child object classes; and   adding the run-time generated child object class identifier to the calling list of the parent object class such that the run-time generated child object class is called instead of the build-time generated child object class having the same identifier.   
     
     
       22. A method according to claim 21, wherein objects instantiated from a run-time generated child object class are validated when called.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.