class Temp { | |
interface Future<F> {} | |
class Message { | |
} | |
interface Client<C extends Client, M> { | |
<T> Future<T> request(M request); | |
} | |
interface MessageClient extends Client<MessageClient, Message> { | |
Future<Message> request(Message request); | |
} | |
abstract class AbstractClient implements MessageClient { | |
} | |
class ConcreteClient extends AbstractClient { | |
public Future<Message> request(Message request) { | |
return null; | |
} | |
} | |
} |