Parametric Polymorphism and Orthogonal Persistence
Suad Alagić5
and Tuong Nguyen5
| (5) |
Department of Computer Science, Wichita State University, KS 67260-0083 Wichita, USA |
Abstract
Parametric classes come with non-trivial subtleties even in the paradigm of orthogonal persistence. Orthogonal persistence
guaran- tees that objects of any type, including class objects, may persist. But a parametric class is not a Java type, and
its class object does not exist. Further subtleties in the Java technology extended with orthogonal per- sistence are caused
by the existence of both the persistent store and Java class files. Neither store was designed with parametric classes in
mind. This paper presents a technique for implementing parametric classes in the Java technology extended with orthogonal
persistence. The techni- que is based on a suitable representation of a parametric class as a Java class file, an extended
class loader which handles instantiation of such a class, and an extension of the Java Core Reflection classes. Extending
these final classes is a non-trivial experiment and requires complete re- compilation of the Java system. The overall effect
amounts to a new Java Virtual Machine that extends the standard one. However, this extension does not affect correct performance
of Java programs.
This material is based upon work supported by the NSF under grant number IIS- 9811452.
References secured to subscribers.