Buen dia compañeros del foro.
Estoy intentando desglosar algo de la api de java ee7 y tengo que aceptar que me esta dando muy duro entenderla.
En el paquete javax.websocket entre unas tantas, hay dos interfaces:
1)session
2)remoteEndpoint
y en la parte de abajo estan las clases, y entre ellas hay una que se llama EndPoint.
cuando le doy click en esa clase, como es esperado se muestra la documentacion para dicha clase, y bajando un poco por esta pantalla aparece el siguiente ejemplo que no he podido entender.
por Ejemplo.
Código Java:
Ver originalpublic class EchoServer extends Endpoint {
public void onOpen(Session session, EndpointConfig config) {
final RemoteEndpoint remote = session.getBasicRemote();
session.addMessageHandler(new MessageHandler.Whole<String>() {
public void onMessage
(String text
) { try {
remote.sendString("Got your message (" + text + "). Thanks !");
// handle send failure here
}
}
});
}
}
lo que no entiendo es lo siguiente:
¿si no se puede declarar variables de una interface entonces entonces por que se declarò como sigue:?
Código Java:
Ver originalRemoteEndpoint remote=session.getBasicRemote();
si dentro de la clase creada "EchoServer extends Endpoint"veo que RemoteEndpoint es una interface que llama a la interface session que es otra interface que invoca un metodo que devuelve un tipo de dato RemoteEndpoint.
en la documentacion se ve en la tabla como sigue
Modifier and Type
RemoteEndpoint.Basic
Method and Description
getBasicRemote()
Return a reference a RemoteEndpoint object representing the peer of this conversation that is able to send messages synchronously to the peer
Y en todo lo que llevo investigando, en todo lado dice que no se pueden crear variebles ni instancias de interfaces.
Muchas gracias a aquel que dè respuestas a mi pregunta, de verdad que esa transferencia de conocimento hacia otros que quieren aprender se traduce a algo solido y exitoso.