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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
O. Agesen, S. Freund, and J. C. Mitchell, Adding type parameterization to Java, Proceedings of the OOPSLA’ 97 Conference, pp. 49–65, ACM, 1997.
S. Alagić, Type checking OQL queries in the ODMG type systems, ACM Transactions on Database Systems, 24 (3), pp. 319–360, 1999.
S. Alagić, A family of the ODMG object models, invited paper, Proceedings of ADBIS’ 99, Lecture Notes in Computer Science 1691, pp. 14–30, 1999.
S. Alagić, O2 and the ODMG Standard: do they match?, Theory and Practice of Object Systems, 5 (4), pp. 239–247, 1999.
S. Alagić, J. Solorzano, and D. Gitchell, Orthogonal to the Java imperative, Proceedings of ECOOP’ 98, Lecture Notes in Computer Science 1445, pp. 212–233, Springer, 1998.
S. Alagić, The ODMG object model: does it make sense?, Proceedings of the OOPSLA’ 97 Conference, pp. 253–270, ACM, 1997.
M. Atkinson and R. Morrison, Orthogonally persistent object systems, VLDB Journal 4, pp. 319–401, 1995.
M. Atkinson, L. Daynes, M. J. Jordan, T. Printezis, and S. Spence, An orthogonally persistent JavaTM, ACM SIGMOD Record 25, pp. 68–75, ACM, 1996.
M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, and S. Zdonik, The object-oriented database system manifesto, Proceedings of the First Object-Oriented and Deductive Database Conference (DOOD), pp. 40–75, clKyoto, 1989.
G. Bracha, M. Odersky, D. Stoutmire and P. Wadler, Making the future safe for the past: Adding genericity to the JavaTM programming language, Proceedings of OOPSLA’ 98, pp. 183–200, ACM, 1998.
B. Bretl, A. Otis, M. San Soucie, B. Schuchardt, and R. Venkatesh, Persistent Java objects in 3 tier architectures, in: R. Morrison, M. Jordan, and M. Atkinson: Advances in Persistent Object Systems, pp. 236–249, Morgan Kaufmann Publishers, 1999.
R. G. G. Cattell, D. K. Barry, M. Berler, J. Eastman, D. Jordan, C. Russel, O. Schadow, T. Stanieda, The Object Data Standard: ODMG-3.0, Morgan Kaufmann, 2000.
R. Cartwright and G. L. Steele Jr., Compatible genericity with run-time types for the JavaTM programming language, Proceedings of OOPSLA’ 98, pp. 201–215, ACM, 1998.
J. Gosling, B. Joy, and G. Steele, The Java TM Language Specification, Addison-Wesley, 1996.
M. Jordan and M. Atkinson, Orthogonal persistence for Java-A mid-term report, in: R. Morrison, M. Jordan, and M. Atkinson: Advances in Persistent Object Systems, pp. 335–352, Morgan Kaufmann Publishers, 1999.
T. Lindholm and F. Yellin, The Java TM Virtual Machine Specification, Addison-Wesley, 1996.
B. Meyer, Eiffel: The Language, Prentice-Hall, 1992.
M. Odersky and P. Wadler, Pizza into Java: translating theory into practice, Proceedings of the POPL Conference, ACM, pp. 146–159, 1997.
J. Solorzano and S. Alagić, Parametric polymorphism for JavaTM: A reflective solution, Proceedings of OOPSLA’ 98, pp. 216–225, ACM, 1998.
K. K. Thorup and M. Torgesen, Unifying genericity, Proceedings of ECOOP’ 99, Lecture Notes in Computer Science 1628, pp. 186–204, Springer, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Alagić, S., Nguyen, T. (2001). Parametric Polymorphism and Orthogonal Persistence. In: Dittrich, K., Guerrini, G., Merlo, I., Oliva, M., Rodriguez, M. (eds) Objects and Databases. SODB 2000. Lecture Notes in Computer Science, vol 1944. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44677-X_2
Download citation
DOI: https://doi.org/10.1007/3-540-44677-X_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41664-7
Online ISBN: 978-3-540-44677-4
eBook Packages: Springer Book Archive