When several incompatible implementations of a single API are in use in a Java program, the danger exists that instances from different implementations may inadvertently be mixed, leading to errors. In this paper we show how to use generics to prevent such mixing. The core idea of the approach is to add a type parameter to the interfaces of the API, and tie the classes that make up an implementation to a unique choice of type parameter. In this way methods of the API can only be invoked with arguments that belong to the same implementation. We show that the presence of a type parameter in the interfaces does not violate the principle of interface-based programming: clients can still completely abstract over the choice of implementation. In ...
In Java, an interface specifies public abstract methods and associated public constants. Con-formanc...
This paper presents the "safe-instantiation principle" a new design principle for evaluati...
In Part-I and II we discussed the benefits and usage of Java Generics, and how it is implemented und...
AbstractThis paper introduces the “Safe Instantiation Principle”, a new design criterion for evaluat...
Java 1.5 will include a type system (called JSR-14) that supports parametric poly-morphism, or gener...
Java 1.5 will include a type system (called JSR-14) that supports parametric polymorphism, or generi...
We propose to add generic types and methods to the Java programming language. The main benefit of ad...
Type safety and expressiveness of many existing Java libraries and their client applications would i...
We present GJ, a design that extends the Java programming language with generic types and methods. T...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
ABSTRACT This paper is about Generic Programming in Java and C++. One of the main motivations for in...
Type safety and expressiveness of many existing Java libraries and their client applications would i...
Java program adaptation between different APIs is a common task in software development. When an old...
In Java, an interface specifies public abstract methods and associated public constants. Con-formanc...
In Java, an interface specifies public abstract methods and associated public constants. Con-formanc...
This paper presents the "safe-instantiation principle" a new design principle for evaluati...
In Part-I and II we discussed the benefits and usage of Java Generics, and how it is implemented und...
AbstractThis paper introduces the “Safe Instantiation Principle”, a new design criterion for evaluat...
Java 1.5 will include a type system (called JSR-14) that supports parametric poly-morphism, or gener...
Java 1.5 will include a type system (called JSR-14) that supports parametric polymorphism, or generi...
We propose to add generic types and methods to the Java programming language. The main benefit of ad...
Type safety and expressiveness of many existing Java libraries and their client applications would i...
We present GJ, a design that extends the Java programming language with generic types and methods. T...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
ABSTRACT This paper is about Generic Programming in Java and C++. One of the main motivations for in...
Type safety and expressiveness of many existing Java libraries and their client applications would i...
Java program adaptation between different APIs is a common task in software development. When an old...
In Java, an interface specifies public abstract methods and associated public constants. Con-formanc...
In Java, an interface specifies public abstract methods and associated public constants. Con-formanc...
This paper presents the "safe-instantiation principle" a new design principle for evaluati...
In Part-I and II we discussed the benefits and usage of Java Generics, and how it is implemented und...