Parametric Polymorphism and Orthogonal Persistence

  • Authors:
  • Suad Alagic;Tuong Nguyen

  • Affiliations:
  • -;-

  • Venue:
  • Proceedings of the International Symposium on Objects and Databases
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Parametric classes come with non-trivial subtleties even in the paradigm of orthogonal persistence. Orthogonal persistence guarantees 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 persistence 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 technique 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 recompilation 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.