Creating a data repository with generics and interfaces
Now we want to create a repository that provides us with entities so that we can apply the functional programming features included in Java 9 to retrieve and process data from these entities. First, we will create an Identifiable
interface that defines the requirements for an identifiable entity. We want any class that implements this interface to provide a getId
method that returns an int
with the value of a unique identifier for the entity. The code file for the sample is included in the java_9_oop_chapter_12_01
folder, in the example12_06.java
file.
public interface Identifiable { int getId(); }
The next lines create a Repository<E>
generic interface that specifies that E
must implement the recently created Identifiable
interface in the generic type constraint. The class declares a getAll
method that returns a List<E>
. Each class that implements the interface must provide its own implementation for this method. The...