1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.websocket.jsr356.endpoints;
20
21 import org.eclipse.jetty.websocket.api.WebSocketPolicy;
22 import org.eclipse.jetty.websocket.common.events.EventDriver;
23 import org.eclipse.jetty.websocket.common.events.EventDriverImpl;
24
25 public class JsrEndpointImpl implements EventDriverImpl
26 {
27 @Override
28 public EventDriver create(Object websocket, WebSocketPolicy policy)
29 {
30 if (!(websocket instanceof EndpointInstance))
31 {
32 throw new IllegalStateException(String.format("Websocket %s must be an %s",websocket.getClass().getName(),EndpointInstance.class.getName()));
33 }
34
35 return new JsrEndpointEventDriver(policy,(EndpointInstance)websocket);
36 }
37
38 @Override
39 public String describeRule()
40 {
41 return "class extends " + javax.websocket.Endpoint.class.getName();
42 }
43
44 @Override
45 public boolean supports(Object websocket)
46 {
47 if (!(websocket instanceof EndpointInstance))
48 {
49 return false;
50 }
51
52 EndpointInstance ei = (EndpointInstance)websocket;
53 Object endpoint = ei.getEndpoint();
54
55 return (endpoint instanceof javax.websocket.Endpoint);
56 }
57 }