Hallo,
ich experementiere momentan ein wenig mit generischen Interfaces+Klassen und bin auf das folgende Problem gestoßen:
Bound mismatch: The type IPEndpoint is not a valid substitute for the bounded parameter <L extends IEndPoint<L>> of the type IClient<L,R>
Im Grunde hätte ich gerne ein generisches Interface "IEndpoint" was z.B. speziell für TCPIP ein "IPEndpoint" mit Internet Addresse und Port ist, bzw. eine InetSocketAddress ist. Ein IChannel bestimmt aus der lokalen Addresse und der Gegenstelle.
Die Klasse ATCPIPClient soll das Interface IChannel implementieren mit InetSocketAddress als IEndpoints.
Interfaces
Interfaces
Klassen
Kann von euch zufällig jemand meinen Denkfehler entdecken
?
Gruß
ich experementiere momentan ein wenig mit generischen Interfaces+Klassen und bin auf das folgende Problem gestoßen:
Bound mismatch: The type IPEndpoint is not a valid substitute for the bounded parameter <L extends IEndPoint<L>> of the type IClient<L,R>
Im Grunde hätte ich gerne ein generisches Interface "IEndpoint" was z.B. speziell für TCPIP ein "IPEndpoint" mit Internet Addresse und Port ist, bzw. eine InetSocketAddress ist. Ein IChannel bestimmt aus der lokalen Addresse und der Gegenstelle.
Die Klasse ATCPIPClient soll das Interface IChannel implementieren mit InetSocketAddress als IEndpoints.
Interfaces
Interfaces
Code:
public interface IEndPoint<T> {
T GetEndPoint();
void SetEndPoint(T t);
}
public interface IChannel<L extends IEndPoint<L>, R extends IEndPoint<R>> {
R getRemoteEndpoint();
L getLocalEndPoint();
}
public interface IClient<L extends IEndPoint<L>, R extends IEndPoint<R>>
extends IChannel<L, R> {
}
Code:
public class IPEndpoint implements IEndPoint<InetSocketAddress>
public class ATCPIPClient implements IClient<IPEndpoint, IPEndpoint>
Kann von euch zufällig jemand meinen Denkfehler entdecken
Gruß