I am working with Websockets in java. I have to implement a method that takes in a generic message handler. So I wrote like this and it compiles.
public <T, M extends MessageHandler> boolean addMessageHandler(Class<T> clazz, M messageHandler) {
}
But when I try to be more specific, it throws compile time errors.
public <T, M<T> extends MessageHandler> boolean addMessageHandler(Class<T> clazz, M<T> messageHandler) {
}
Errors I get:
- Cannot resolve symbol 'T'
- '>' expected.
How can I solve this issue?
The MessageHandler interface looks like this and this is a library method so I can't alter:
public interface MessageHandler {
interface Partial<T> extends javax.websocket.MessageHandler {
void onMessage(T messagePart, boolean last);
}
interface Whole<T> extends javax.websocket.MessageHandler {
void onMessage(T message);
}
}