Implementing first-class relationships in java

Nelson, Stephen, James Noble, Pearce, David J. Implementing first-class relationships in java. Proceedings of RAOOL, 8, 2008.

Abstract

Relationships have been an essential component of OO design since the 90s but OO languages still do not support first-class relationships. Hence, programmers must implement relationships in an ad-hoc fashion which results in unnecessarily complex code. We have developed a new model for relationships in OO which distinguishes tuples and relationships (mutable sets of tuples) and supports both as first-class constructs. This paper describes the design of a library for Java which provides this model.