View Javadoc

1   //
2   //  ========================================================================
3   //  Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
4   //  ------------------------------------------------------------------------
5   //  All rights reserved. This program and the accompanying materials
6   //  are made available under the terms of the Eclipse Public License v1.0
7   //  and Apache License v2.0 which accompanies this distribution.
8   //
9   //      The Eclipse Public License is available at
10  //      http://www.eclipse.org/legal/epl-v10.html
11  //
12  //      The Apache License v2.0 is available at
13  //      http://www.opensource.org/licenses/apache2.0.php
14  //
15  //  You may elect to redistribute this code under either of these licenses.
16  //  ========================================================================
17  //
18  
19  package org.eclipse.jetty.websocket.jsr356.server;
20  
21  import javax.websocket.Endpoint;
22  import javax.websocket.server.ServerEndpointConfig;
23  
24  import org.eclipse.jetty.websocket.jsr356.client.SimpleEndpointMetadata;
25  
26  public class SimpleServerEndpointMetadata extends SimpleEndpointMetadata implements ServerEndpointMetadata
27  {
28      private final ServerEndpointConfig config;
29  
30      public SimpleServerEndpointMetadata(Class<? extends Endpoint> endpointClass, ServerEndpointConfig config)
31      {
32          super(endpointClass);
33          this.config = config;
34          if (this.config != null)
35          {
36              getDecoders().addAll(config.getDecoders());
37              getEncoders().addAll(config.getEncoders());
38          }
39      }
40  
41      @Override
42      public ServerEndpointConfig getConfig()
43      {
44          return config;
45      }
46  
47      @Override
48      public String getPath()
49      {
50          return config.getPath();
51      }
52  
53      @Override
54      public String toString()
55      {
56          StringBuilder builder = new StringBuilder();
57          builder.append("SimpleServerEndpointMetadata [");
58          builder.append("config=").append(config.getClass().getName());
59          builder.append(",path=").append(config.getPath());
60          builder.append(",endpoint=").append(config.getEndpointClass());
61          builder.append(",decoders=").append(config.getDecoders());
62          builder.append(",encoders=").append(config.getEncoders());
63          builder.append("]");
64          return builder.toString();
65      }
66  }