Skip to main content

[websocket-spec~source-code-repository:55] ClientContainer.connectToServer URL->URI + formating.

  • From:
  • To:
  • Subject: [websocket-spec~source-code-repository:55] ClientContainer.connectToServer URL->URI + formating.
  • Date: Mon, 19 Nov 2012 14:22:45 +0000

Project:    websocket-spec
Repository: source-code-repository
Revision:   55
Author:     stepan.kopriva
Date:       2012-11-19 14:22:44 UTC
Link:       

Log Message:
------------
ClientContainer.connectToServer URL->URI + formating.


Revisions:
----------
55


Modified Paths:
---------------
trunk/api/src/main/java/javax/websocket/PingMessage.java
trunk/api/src/main/java/javax/websocket/WebSocketMessage.java
trunk/api/src/main/java/javax/websocket/Encoder.java
trunk/api/src/main/java/javax/websocket/RemoteEndpoint.java
trunk/api/src/main/java/javax/websocket/EndpointConfiguration.java
trunk/api/src/main/java/javax/websocket/ClientContainer.java
trunk/api/src/main/java/javax/websocket/WebSocketPathParam.java
trunk/api/src/main/java/javax/websocket/HandshakeRequest.java
trunk/api/src/main/java/javax/websocket/WebSocketOpen.java
trunk/api/src/main/java/javax/websocket/WebSocketClient.java
trunk/api/src/main/java/javax/websocket/DefaultServerConfiguration.java
trunk/api/src/main/java/javax/websocket/Decoder.java
trunk/api/src/main/java/javax/websocket/ContainerProvider.java
trunk/api/src/main/java/javax/websocket/MessageHandler.java
trunk/api/src/main/java/javax/websocket/ServerEndpointConfiguration.java
trunk/api/src/main/java/javax/websocket/EncodeException.java
trunk/api/src/main/java/javax/websocket/ServerContainer.java
trunk/api/src/main/java/javax/websocket/SendResult.java
trunk/api/src/main/java/javax/websocket/WebSocketEndpoint.java
trunk/api/src/main/java/javax/websocket/CloseReason.java
trunk/api/src/main/java/javax/websocket/Session.java
trunk/api/src/main/java/javax/websocket/HandshakeResponse.java
trunk/api/src/main/java/javax/websocket/DeploymentException.java
trunk/api/src/main/java/javax/websocket/WebSocketError.java
trunk/api/src/main/java/javax/websocket/WebSocketClose.java
trunk/api/src/main/java/javax/websocket/DecodeException.java
trunk/api/src/main/java/javax/websocket/ClientEndpointConfiguration.java
trunk/api/src/main/java/javax/websocket/Endpoint.java
trunk/api/src/main/java/javax/websocket/SendHandler.java


Diffs:
------
Index: 
trunk/api/src/main/java/javax/websocket/ServerEndpointConfiguration.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/ServerEndpointConfiguration.java  
  (revision 54)
+++ trunk/api/src/main/java/javax/websocket/ServerEndpointConfiguration.java  
  (revision 55)
@@ -45,64 +45,73 @@
 /**
  * The ServerEndpointConfiguration is a special kind of endpoint 
configuration object that contains
  * web socket configuration information specific only to server endpoints.
+ *
  * @author dannycoward
  * @since DRAFT 001
  */
 public interface ServerEndpointConfiguration extends EndpointConfiguration {
 
-    /** Return the subprotocol this server endpoint has chosen from the 
requested
+    /**
+     * Return the subprotocol this server endpoint has chosen from the 
requested
      * list supplied by a client who wishes to connect, or none if there 
wasn't one
      * this server endpoint liked. See <a 
href="http://tools.ietf.org/html/rfc6455#section-4.2.2";>Sending the Server's 
Opening Handshake</a>
+     *
      * @param requestedSubprotocols the requested subprotocols.
      * @return the negotiated subprotocol.
      */
-     String getNegotiatedSubprotocol(List<String> requestedSubprotocols);
+    String getNegotiatedSubprotocol(List<String> requestedSubprotocols);
 
-    /** http://java.net/jira/browse/WEBSOCKET_SPEC-45
+    /**
+     * http://java.net/jira/browse/WEBSOCKET_SPEC-45
      * Return the ordered list of extensions that this server will support 
given the requested
      * extension list passed in, the empty list if none. See <a 
href="http://tools.ietf.org/html/rfc6455#section-9.1";>Negotiating 
Extensions</a>
+     *
      * @param requestedExtensions the requested extentions, in order.
      * @return the list of extensions negotiated
      */
-     List<String> getNegotiatedExtensions(List<String> requestedExtensions);
+    List<String> getNegotiatedExtensions(List<String> requestedExtensions);
 
-    /** Check the value of the Origin header (<a 
href="http://tools.ietf.org/html/rfc6454";>See definition</a>) the client 
passed during the opening
+    /**
+     * Check the value of the Origin header (<a 
href="http://tools.ietf.org/html/rfc6454";>See definition</a>) the client 
passed during the opening
      * handshake.
      *
      * @param originHeaderValue the value of the origin header.
      * @return whether the check passed or not
      */
-     boolean checkOrigin(String originHeaderValue);
+    boolean checkOrigin(String originHeaderValue);
 
     /**
      * Answers whether the current configuration matches the given path. 
This method may be overridden
      * by implementations with any number of algorithms for determining a 
match.
+     *
      * @param uri the uri of the incoming handshake.
      * @return whether there was a match
      */
 
-     boolean matchesURI(URI uri);
+    boolean matchesURI(URI uri);
 
 
-   /** Called by the container after it has formulated a handshake response 
resulting from
-    * a well-formed handshake request. The container has already has already 
checked that this configuration
-    * has a matching URI, determined the validity of the origin using the 
checkOrigin method, and filled
-    * out the negotiated subprotocols and extensions based on this 
configuration.
-    * Custom configurations may override this method in order to inspect
-    * the request parameters and modify the handshake response.
+    /**
+     * Called by the container after it has formulated a handshake response 
resulting from
+     * a well-formed handshake request. The container has already has 
already checked that this configuration
+     * has a matching URI, determined the validity of the origin using the 
checkOrigin method, and filled
+     * out the negotiated subprotocols and extensions based on this 
configuration.
+     * Custom configurations may override this method in order to inspect
+     * the request parameters and modify the handshake response.
      * and the URI checking also.
-     * @param request the opening handshake request.
+     *
+     * @param request  the opening handshake request.
      * @param response the proposed opening handshake response
      */
-     void modifyHandshake(HandshakeRequest request, HandshakeResponse 
response);
+    void modifyHandshake(HandshakeRequest request, HandshakeResponse 
response);
 
-     /**
+    /**
      * Return the path for this endpoint configuration. The path
      * is the URI or URI-template relative to the websocket root of the 
server to which the endpoint
      * using this configuration will be mapped. The path always begins with 
a leading "/". A trailing "/" will be
      * ignored.
-     * 
+     *
      * @return the relative path for this configuration.
      */
-     String getPath();
+    String getPath();
 }
Index: trunk/api/src/main/java/javax/websocket/DeploymentException.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/DeploymentException.java    
(revision 54)
+++ trunk/api/src/main/java/javax/websocket/DeploymentException.java    
(revision 55)
@@ -40,24 +40,29 @@
 package javax.websocket;
 
 /**
- *  Checked exception indicating some kind of failure either to publish
+ * Checked exception indicating some kind of failure either to publish
  * an endpoint on its server, or a failure to connect a client to its server.
+ *
  * @author dannycoward
  */
 public class DeploymentException extends Exception {
 
-    /** Creates a deployment exception with the given reason for the 
deployment
-     * failure. 
+    /**
+     * Creates a deployment exception with the given reason for the 
deployment
+     * failure.
+     *
      * @param message the reason for the failure.
      */
     public DeploymentException(String message) {
         super(message);
     }
 
-     /** Creates a deployment exception with the given reason for the 
deployment
+    /**
+     * Creates a deployment exception with the given reason for the 
deployment
      * failure and wrapped cause of the failure.
+     *
      * @param message the reason for the failure.
-     * @param cause the cause of the problem.
+     * @param cause   the cause of the problem.
      */
     public DeploymentException(String message, Throwable cause) {
         super(message, cause);
Index: trunk/api/src/main/java/javax/websocket/HandshakeRequest.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/HandshakeRequest.java       
(revision 54)
+++ trunk/api/src/main/java/javax/websocket/HandshakeRequest.java       
(revision 55)
@@ -47,41 +47,61 @@
 /**
  * The handshake request represents the web socket defined Http request that 
for the opening
  * handshake of a web socket session.
+ *
+ * @author dannycoward
  * @since DRAFT 003
- * @author dannycoward
  */
 public interface HandshakeRequest {
-    /** Return the read only Map of Http Headers that came with the 
handshake request. The header names
+
+    /**
+     * Return the read only Map of Http Headers that came with the handshake 
request. The header names
      * are case insensitive.
+     *
      * @return the list of headers.
      */
-     Map<String,List<String>> getHeaders();
-    /** Return the authenticated user or null if no user is authenticated 
for this handshake.
-     @ @return the user principal.
+    Map<String, List<String>> getHeaders();
+
+    /**
+     * Return the authenticated user or null if no user is authenticated for 
this handshake.
+     *
+     * @ @return the user principal.
      */
-     Principal getUserPrincipal();
-    /** Return the request URI of the handshake request.
+    Principal getUserPrincipal();
+
+    /**
+     * Return the request URI of the handshake request.
+     *
      * @return the request uri of the handshake request.
      */
-     URI getRequestURI();
-    /** Checks whether the current user is in the given role.
+    URI getRequestURI();
+
+    /**
+     * Checks whether the current user is in the given role.
+     *
      * @param role the role being checked
      * @return whether the user is in the role
      */
-     boolean isUserInRole(String role);
-    /** Return a reference to the HttpSession that the web socket handshake 
that started this
+    boolean isUserInRole(String role);
+
+    /**
+     * Return a reference to the HttpSession that the web socket handshake 
that started this
      * conversation was part of, if applicable.
+     *
      * @return the http session.
      */
-     Object getSession();
+    Object getSession();
 
-     /** Return the request parameters associated with the request.
+    /**
+     * Return the request parameters associated with the request.
+     *
      * @return the unmodifiable map of the request parameters.
      */
-     Map<String, String[]> getParameterMap();
+    Map<String, String[]> getParameterMap();
 
-    /** Return the query string associated with the request.
+    /**
+     * Return the query string associated with the request.
+     *
      * @return the query string≥
      */
-     String getQueryString();
+    String getQueryString();
 }
Index: trunk/api/src/main/java/javax/websocket/WebSocketError.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/WebSocketError.java (revision 54)
+++ trunk/api/src/main/java/javax/websocket/WebSocketError.java (revision 55)
@@ -45,15 +45,16 @@
 import java.lang.annotation.Target;
 
 /**
- *  This method level annotation can be used to decorate a Java method that 
wishes to be called in order
+ * This method level annotation can be used to decorate a Java method that 
wishes to be called in order
  * to handle errors. <br><br>
- *
- *  The method may only take the following parameters:-<br><br>
+ * <p/>
+ * The method may only take the following parameters:-<br><br>
  * - optional Session parameter<br>
  * - a Throwable  parameter<br>
  * - Zero to n String parameters annotated with the @WebSocketPathParam 
annotation.<br>
  * in any order.
  * <br>
+ *
  * @author dannycoward
  */
 @Retention(RetentionPolicy.RUNTIME)
Index: trunk/api/src/main/java/javax/websocket/PingMessage.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/PingMessage.java    (revision 54)
+++ trunk/api/src/main/java/javax/websocket/PingMessage.java    (revision 55)
@@ -40,19 +40,21 @@
 package javax.websocket;
 
 import java.nio.ByteBuffer;
+
 /**
  * The PingMessage interface represents a web socket ping. PingMessages may 
be received by using
  * a MessageHandler.Basic<PingMessage>. The payload of the PingMessage is 
the application data sent by the peer.
- * 
+ *
+ * @author dannycoward
  * @since v008
- * @author dannycoward
  */
 public interface PingMessage {
-    /** The application data inside the ping message from the peer.
-     * 
+
+    /**
+     * The application data inside the ping message from the peer.
+     *
      * @return the application data.
      */
-    
-   public ByteBuffer getApplicationData(); 
-    
+    public ByteBuffer getApplicationData();
+
 }
Index: trunk/api/src/main/java/javax/websocket/DecodeException.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/DecodeException.java        
(revision 54)
+++ trunk/api/src/main/java/javax/websocket/DecodeException.java        
(revision 55)
@@ -81,7 +81,7 @@
      * or part of the message, depending whether the application is using one
      * of the streaming methods or not.
      * @param bb the byte buffer with the data that could not be decoded
-     * @param message
+     * @param message TODO
      */
     public DecodeException(ByteBuffer bb, String message) {
         super(message);
@@ -91,7 +91,7 @@
      * be decoded, and reason why. The encoded string may represent the 
whole message,
      * or part of the message, depending whether the application is using one
      * of the streaming methods or not.
-     * @param bb
+     * @param encodedString TODO
      * @param message the reason for the failure
      */
     public DecodeException(String encodedString, String message) {
Index: trunk/api/src/main/java/javax/websocket/DefaultServerConfiguration.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/DefaultServerConfiguration.java   
  (revision 54)
+++ trunk/api/src/main/java/javax/websocket/DefaultServerConfiguration.java   
  (revision 55)
@@ -42,10 +42,12 @@
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
+
 /**
  * The DefaultServerConfiguration is a concrete class that embodies all the 
configuration
  * parameters for an endpoint that is to be published as a server endpoint. 
Developers may
  * subclass this class in order to override the configuration behavior.
+ *
  * @author dannycoward
  */
 public class DefaultServerConfiguration implements 
ServerEndpointConfiguration {
@@ -55,18 +57,25 @@
     private List<Encoder> encoders = new ArrayList<Encoder>();
     private List<Decoder> decoders = new ArrayList<Decoder>();
 
-    /** For subclass implementations. */
+    /**
+     * For subclass implementations.
+     */
     protected DefaultServerConfiguration() {
 
     }
-    /** 
+
+    /**
      * Creates a server configuration with the given path
+     *
      * @param path the URI or URI template.
      */
     public DefaultServerConfiguration(String path) {
         this.path = path;
     }
-    /** Sets all the encoders that this configuration will support.
+
+    /**
+     * Sets all the encoders that this configuration will support.
+     *
      * @param encoders the encoders supported
      * @return this server configuration instance.
      */
@@ -77,6 +86,7 @@
 
     /**
      * Sets all the decoders that this configuration will support.
+     *
      * @param decoders the encoders supported
      * @return this server configuration instance.
      */
@@ -85,8 +95,9 @@
         return this;
     }
 
-    /** 
-     * Sets all the subprotocols that this configuration will support. 
+    /**
+     * Sets all the subprotocols that this configuration will support.
+     *
      * @param subprotocols the encoders supported
      * @return this server configuration instance.
      */
@@ -95,7 +106,9 @@
         return this;
     }
 
-    /** Sets all the extensions that this configuration will support.
+    /**
+     * Sets all the extensions that this configuration will support.
+     *
      * @param extensions the encoders supported
      * @return this server configuration instance.
      */
@@ -103,19 +116,24 @@
         this.extensions = extensions;
         return this;
     }
-    /** Return the Encoder implementations configured. These
+
+    /**
+     * Return the Encoder implementations configured. These
      * will be used by the container to encode outgoing messages.
+     *
      * @return the encoders.
      */
     public List<Encoder> getEncoders() {
         return this.encoders;
     }
-   
-    
-     /** Return the Decoder implementations configured. These
+
+
+    /**
+     * Return the Decoder implementations configured. These
      * will be used by the container to decode incoming messages
      * into the expected custom objects on MessageHandler
      * callbacks.
+     *
      * @return the encoders.
      */
     public List<Decoder> getDecoders() {
@@ -125,6 +143,7 @@
     /**
      * Return the path of this server configuration. The path is a relative 
URI
      * or URI-template.
+     *
      * @return the path
      */
     @Override
@@ -133,21 +152,24 @@
     }
 
 
-    /** 
+    /**
      * The default implementation of this method returns, the first 
subprotocol in the list sent by the client that
      * the server supports, or null if there isn't one none. Subclasses may 
provide custom algorithms based on other factors.
-     * @param requestedSubprotocols
+     *
+     * @param requestedSubprotocols TODO
      * @return the negotiated subprotocol.
      */
     public String getNegotiatedSubprotocol(List<String> 
requestedSubprotocols) {
         throw new RuntimeException("To implement");
     }
 
-    /** Provides a simple algorithm to return the list of extensions this 
server will
+    /**
+     * Provides a simple algorithm to return the list of extensions this 
server will
      * use for the web socket session: the configuration returns a list 
containing all of the requested
      * extensions passed to this method that it supports, using the order in 
the requested
      * extensions, the empty list if none. Subclasses may provide custom 
algorithms based on other factors.
-     * @param requestedExtensions
+     *
+     * @param requestedExtensions TODO
      * @return the list of extensions.
      */
 
@@ -155,20 +177,23 @@
         throw new RuntimeException("To implement");
     }
 
-    /** Makes a check of the validity of the Origin header sent along with 
the opening
+    /**
+     * Makes a check of the validity of the Origin header sent along with 
the opening
      * handshake following the recommendation at: 
http://tools.ietf.org/html/rfc6455#section-4.2 ;.
      *
-     * @param originHeaderValue
+     * @param originHeaderValue TODO
      * @return whether the check passed or not.
      */
     public boolean checkOrigin(String originHeaderValue) {
         throw new RuntimeException("To implement");
     }
 
-    /** This default implementation matches the incoming path to the 
configuration's URI or URI template if and only if
+    /**
+     * This default implementation matches the incoming path to the 
configuration's URI or URI template if and only if
      * it is an exact match in the case the configuration is a URI, and if 
and only if it is a valid
      * expansion of the configuration URI template, in the case where the 
configuration is a URI template. Subclasses may override this method to 
provide
      * different matching policies.
+     *
      * @param uri the URL of the incoming request
      * @return whether it matched this configuration or not.
      */
@@ -177,15 +202,18 @@
     }
 
 
-    /** The default server configuration does not make any changes to the 
response. Subclasses may
+    /**
+     * The default server configuration does not make any changes to the 
response. Subclasses may
      * override this method in order to inspect the Http request headers of 
the openinghandshake, for example to track cookies
      * sent by the client. Additionally subclasses may choose to override 
this method to modify the outgoing
      * handshake response.
      * the outgoing handshake response
-     * @param request the handshake request from the client
+     *
+     * @param request  the handshake request from the client
      * @param response the handshake response formulated by the container.
      */
-    public void modifyHandshake(HandshakeRequest request, HandshakeResponse 
response) {}
+    public void modifyHandshake(HandshakeRequest request, HandshakeResponse 
response) {
+    }
 
 
 }
Index: trunk/api/src/main/java/javax/websocket/Decoder.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/Decoder.java        (revision 54)
+++ trunk/api/src/main/java/javax/websocket/Decoder.java        (revision 55)
@@ -63,7 +63,7 @@
          */
          T decode(ByteBuffer bytes) throws DecodeException;
         /** Answer whether the given bytes can be decoded into an object of 
type T.
-         * @bytes the bytes to be decoded.
+         * @param bytes the bytes to be decoded.
          * @return whether or not the bytes can be decoded by this decoder.
          */
          boolean willDecode(ByteBuffer bytes);
@@ -88,7 +88,7 @@
      */
      interface Text<T> extends Decoder {
         /** Decode the given String into an object of type T.
-         * @param the string to be decoded.
+         * @param s string to be decoded.
          * @return the decoded message as an object of type T
          */
          T decode(String s) throws DecodeException;
Index: trunk/api/src/main/java/javax/websocket/HandshakeResponse.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/HandshakeResponse.java      
(revision 54)
+++ trunk/api/src/main/java/javax/websocket/HandshakeResponse.java      
(revision 55)
@@ -45,12 +45,15 @@
 /**
  * The handshake response represents the web socket defined http response 
that will be
  * sent by the web socket server during the opening handshake.
+ *
  * @author dannycoward
  */
 public interface HandshakeResponse {
-    /** Return the list of Http Headers that came with the handshake request.
+
+    /**
+     * Return the list of Http Headers that came with the handshake request.
+     *
      * @return the headers.
-     *
      */
-     Map<String,List<String>> getHeaders();
+    Map<String, List<String>> getHeaders();
 }
Index: 
trunk/api/src/main/java/javax/websocket/ClientEndpointConfiguration.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/ClientEndpointConfiguration.java  
  (revision 54)
+++ trunk/api/src/main/java/javax/websocket/ClientEndpointConfiguration.java  
  (revision 55)
@@ -58,7 +58,7 @@
      *
      * @return a list of the preferred subprotocols
      */
-     List<String> getPreferredSubprotocols();
+    List<String> getPreferredSubprotocols();
 
     /**
      * http://java.net/jira/browse/WEBSOCKET_SPEC-45
@@ -69,7 +69,7 @@
      *
      * @return a list of extensions
      */
-     List<String> getExtensions();
+    List<String> getExtensions();
 
 }
 
Index: trunk/api/src/main/java/javax/websocket/WebSocketOpen.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/WebSocketOpen.java  (revision 54)
+++ trunk/api/src/main/java/javax/websocket/WebSocketOpen.java  (revision 55)
@@ -47,11 +47,12 @@
 /**
  * This method level annotation can be used to decorate a Java method that 
wishes to be called when a new
  * web socket session is open. <br><br>
- *
+ * <p/>
  * <br> The method may only take the following parameters:-<br><br>
  * - optional Session parameter<br>
  * - Zero to n String parameters annotated with the @WebSocketPathParam 
annotation.<br>
  * in any order.
+ *
  * @author dannycoward
  * @since Draft 002
  */
Index: trunk/api/src/main/java/javax/websocket/EndpointConfiguration.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/EndpointConfiguration.java  
(revision 54)
+++ trunk/api/src/main/java/javax/websocket/EndpointConfiguration.java  
(revision 55)
@@ -46,24 +46,28 @@
  * for this end point. All endpoints specify, for example, a URI. In the 
case of a server endpoint,
  * the URI signifies the URI to which the endpoint will be mapped. In the 
case of a client application
  * the URI signifies the URI of the server to which the client endpoint will 
attempt to connect.
+ *
  * @author dannycoward
  * @since DRAFT 001
  */
 public interface EndpointConfiguration {
 
-    /** Return the Encoder implementations configured, the empty list if 
none. These
-     will be used by the container to encode custom objects passed into
+    /**
+     * Return the Encoder implementations configured, the empty list if 
none. These
+     * will be used by the container to encode custom objects passed into
      * the send() methods on remote endpoints.
+     *
      * @return the list of encoders.
      */
-     List<Encoder> getEncoders();
-     /** Return the Decoder implementations configured, the empty list if 
none. These
-     will be used by the container to decode incoming messages
+    List<Encoder> getEncoders();
+
+    /**
+     * Return the Decoder implementations configured, the empty list if 
none. These
+     * will be used by the container to decode incoming messages
      * into the expected custom objects on MessageListener.onMessage()
      * callbacks.
+     *
      * @return the list of decoders.
      */
-     List<Decoder> getDecoders();
-
-
+    List<Decoder> getDecoders();
 }
Index: trunk/api/src/main/java/javax/websocket/ServerContainer.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/ServerContainer.java        
(revision 54)
+++ trunk/api/src/main/java/javax/websocket/ServerContainer.java        
(revision 55)
@@ -43,14 +43,18 @@
  * The ServerContainer is an implementation provided object that, in addition
  * to being able to initiate web socket connections (client), can register 
endpoints
  * that can handle incoming connection requests.
+ *
  * @author dannycoward
  * @since DRAFT 001
  */
 public interface ServerContainer extends ClientContainer {
-    /** Publish the given endpoint with the provided configuration
+
+    /**
+     * Publish the given endpoint with the provided configuration
      * information.
+     *
      * @param endpointClazz the class of the endpoint to be deployed.
-     * to deploy the endpoint.
+     *                      to deploy the endpoint.
      */
-     void publishServer(Class<? extends Endpoint> endpointClazz) throws 
DeploymentException;
+    void publishServer(Class<? extends Endpoint> endpointClazz) throws 
DeploymentException;
 }
Index: trunk/api/src/main/java/javax/websocket/WebSocketClose.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/WebSocketClose.java (revision 54)
+++ trunk/api/src/main/java/javax/websocket/WebSocketClose.java (revision 55)
@@ -47,12 +47,13 @@
 /**
  * This method level annotation can be used to decorate a Java method that 
wishes to be called when a
  * web socket session has closed. <br>
- *
+ * <p/>
  * <br> The method may only take the following parameters:-<br><br>
  * - optional Session parameter<br>
  * - optional CloseReason parameter<br>
  * - Zero to n String parameters annotated with the @WebSocketPathParam 
annotation.<br>
  * in any order.<br>
+ *
  * @author dannycoward
  * @since Draft 002
  */
Index: trunk/api/src/main/java/javax/websocket/EncodeException.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/EncodeException.java        
(revision 54)
+++ trunk/api/src/main/java/javax/websocket/EncodeException.java        
(revision 55)
@@ -41,28 +41,32 @@
 
 /**
  * A general exception that occurs when trying to encode a custom object to 
a string or binary message.
+ *
  * @author dannycoward
  * @since DRAFT 002
  */
 public class EncodeException extends Exception {
     private Object object;
-        private static final long serialVersionUID = 006;
+    private static final long serialVersionUID = 006;
 
-    /** Constructor with the object being encoded, and the reason why it 
failed to be.
-     * @param object the object that could not be encoded.
+    /**
+     * Constructor with the object being encoded, and the reason why it 
failed to be.
+     *
+     * @param object  the object that could not be encoded.
      * @param message the reason for the failure.
      */
     public EncodeException(Object object, String message) {
         super(message);
         this.object = object;
     }
-    
-    
+
+
     /**
      * Constructor with the object being encoded, and the reason why it 
failed to be, and the cause.
-     * @param object the object that could not be encoded.
+     *
+     * @param object  the object that could not be encoded.
      * @param message the reason for the failure.
-     * @param cause the cause of the problem
+     * @param cause   the cause of the problem
      */
     public EncodeException(Object object, String message, Throwable cause) {
         super(message, cause);
@@ -70,9 +74,13 @@
     }
 
 
-    /** Return the Object that could not be encoded.
+    /**
+     * Return the Object that could not be encoded.
+     *
      * @return the object
      */
 
-    public Object getObject() { return this.object;}
+    public Object getObject() {
+        return this.object;
+    }
 }
Index: trunk/api/src/main/java/javax/websocket/CloseReason.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/CloseReason.java    (revision 54)
+++ trunk/api/src/main/java/javax/websocket/CloseReason.java    (revision 55)
@@ -42,6 +42,7 @@
 /**
  * A class encapsulating the reason why a web socket has been closed, or why 
it is being asked to
  * close. Note the acceptable uses of codes and reason phrase defined in FRC 
6455.
+ *
  * @author dannycoward
  * @since DRAFT 001
  */
@@ -50,9 +51,11 @@
     private CloseReason.CloseCode closeCode;
     private String reasonPhrase;
 
-    /** Creates a reason for closing a web socket connection with the given
+    /**
+     * Creates a reason for closing a web socket connection with the given
      * code and reason phrase.
-     * @param closeCode the close code
+     *
+     * @param closeCode    the close code
      * @param reasonPhrase the reason phrase
      */
     public CloseReason(CloseReason.CloseCode closeCode, String reasonPhrase) 
{
@@ -62,14 +65,16 @@
 
     /**
      * The Close code associated with this CloseReason.
+     *
      * @return the close code.
      */
     public CloseReason.CloseCode getCloseCode() {
         return this.closeCode;
     }
 
-        /**
+    /**
      * The reason phrase associated with this CloseReason.
+     *
      * @return the reason phrase.
      */
     public String getReasonPhrase() {
@@ -77,7 +82,8 @@
     }
 
 
-    /** A marker interface for the close codes. This interface may be
+    /**
+     * A marker interface for the close codes. This interface may be
      * implemented by enumerations that contain web socket close codes, for
      * example enumerations that contain all the in use close codes as of
      * web socket 1.0, or an enumeration that contains close codes
@@ -85,27 +91,30 @@
      * specification.
      */
     public interface CloseCode {
-        /** Returns the code number, for example the integer '1000' for 
normal closure.
-
+        /**
+         * Returns the code number, for example the integer '1000' for 
normal closure.
+         *
          * @return the code number
          */
-         int getCode();
+        int getCode();
     }
 
-    /** An Enumeration of status codes for a web socket close that
-     * are defined in the specification. */
+    /**
+     * An Enumeration of status codes for a web socket close that
+     * are defined in the specification.
+     */
     public enum CloseCodes implements CloseReason.CloseCode {
         /* 1000 */
         NORMAL_CLOSURE(1000),
         /* 1001 */
-        GOING_AWAY(1001) ,
+        GOING_AWAY(1001),
         /* 1002 */
         PROTOCOL_ERROR(1002),
         /* 1003 */
         CANNOT_ACCEPT(1003),
         /* 1004 */
         RESERVED(1004
-        /* 1005 */),
+                /* 1005 */),
         NO_STATUS_CODE(1005),
         /* 1006 */
         CLOSED_ABNORMALLY(1006),
@@ -125,21 +134,21 @@
         TRY_AGAIN_LATER(1013),
         /* 1015 */
         TLS_HANDSHAKE_FAILURE(1015);
-        
-        
 
 
         CloseCodes(int code) {
             this.code = code;
         }
 
-        /** 
-         * Return the code number of this status code. 
+        /**
+         * Return the code number of this status code.
+         *
          * @return the code.
          */
         public int getCode() {
             return code;
         }
+
         private int code;
     }
 }
Index: trunk/api/src/main/java/javax/websocket/Encoder.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/Encoder.java        (revision 54)
+++ trunk/api/src/main/java/javax/websocket/Encoder.java        (revision 55)
@@ -50,66 +50,85 @@
  * subinterfaces that allow encoding algorithms to encode custom objects to: 
text,
  * binary data, character
  * stream and write to an output stream.
+ *
  * @author dannycoward
  * @since DRAFT 002
  */
 public interface Encoder {
-    /** This interface defines how to provide a way to convert a custom
+
+    /**
+     * This interface defines how to provide a way to convert a custom
      * object into a text message.
+     *
      * @param <T>
      */
-     interface Text<T> extends Encoder {
-        /** Encode the given object into a String.
+    interface Text<T> extends Encoder {
+        /**
+         * Encode the given object into a String.
+         *
          * @param object the object being encoded.
          * @return the encoded object as a string.
          */
-         String encode(T object) throws EncodeException;
+        String encode(T object) throws EncodeException;
     }
 
-    /** This interface may be implemented by encoding algorithms
+    /**
+     * This interface may be implemented by encoding algorithms
      * that want to write the encoded object to a character stream.
+     *
+     * @param <T> the type of the object this encoder can encode.
      * @since DRAFT 006 / EDR
-     * @param <T> the type of the object this encoder can encode.
      */
-     interface TextStream<T> extends Encoder {
-        /** Encode the given object to a character stream writing it
+    interface TextStream<T> extends Encoder {
+        /**
+         * Encode the given object to a character stream writing it
          * to the supplied Writer. Implementations of this method may use 
the EncodeException
          * to indicate a failure to convert the supplied object to an 
encoded form, and may
          * use the IOException to indicate a failure to write the data to 
the supplied
          * stream.
+         *
          * @param object - the object to be encoded
          * @param writer - the writer provided by the web socket runtime to 
write the encoded data
          * @throws EncodeException
          * @throws IOException
          */
-         void encode(T object, Writer writer) throws EncodeException, 
IOException;
+        void encode(T object, Writer writer) throws EncodeException, 
IOException;
 
     }
-    /** This interface defines how to provide a way to convert a custom
+
+    /**
+     * This interface defines how to provide a way to convert a custom
      * object into a binary message.
+     *
      * @param <T>
      */
-     interface Binary<T> extends Encoder {
-        /** Encode the given object into a byte array.
+    interface Binary<T> extends Encoder {
+        /**
+         * Encode the given object into a byte array.
+         *
          * @param object the object being encoded
          * @return the binary data
          */
-         ByteBuffer encode(T object) throws EncodeException;
+        ByteBuffer encode(T object) throws EncodeException;
 
     }
 
-     /** This interface may be implemented by encoding algorithms
+    /**
+     * This interface may be implemented by encoding algorithms
      * that want to write the encoded object to a binary stream.
+     *
+     * @param <T> the type of the object this encoder can encode.
      * @since DRAFT 006 / EDR
-     * @param <T> the type of the object this encoder can encode.
      */
-     interface BinaryStream<T> extends Encoder {
-        /** Encode the given object into a binary stream written to the
+    interface BinaryStream<T> extends Encoder {
+        /**
+         * Encode the given object into a binary stream written to the
          * implementation provided OutputStream.
-         @param object the object being encoded
-         @param os the output stream where the encoded data is written
+         *
+         * @param object the object being encoded
+         * @param os     the output stream where the encoded data is written
          */
-         void encode(T object, OutputStream os) throws EncodeException, 
IOException;
+        void encode(T object, OutputStream os) throws EncodeException, 
IOException;
 
     }
 }
Index: trunk/api/src/main/java/javax/websocket/Endpoint.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/Endpoint.java       (revision 54)
+++ trunk/api/src/main/java/javax/websocket/Endpoint.java       (revision 55)
@@ -48,27 +48,37 @@
  * is called by no more than one thread at a time. This means that when 
implementing/overriding the methods
  * of Endpoint, the developer is guaranteed that there will be at most one 
thread in each endpoint instance.
  *
+ * @author dannycoward
  * @since DRAFT 001
- * @author dannycoward
  */
 public abstract class Endpoint {
-    
-    /** Developers must provide an EndpointConfiguration so that
+
+    /**
+     * Developers must provide an EndpointConfiguration so that
      * the container it is deployed in can configure it.
+     *
      * @return an EndpointConfiguration used to configure the Endpoint
      */
     public abstract EndpointConfiguration getEndpointConfiguration();
-    /** Developers must implement this method to be notified when a new 
conversation has
+
+    /**
+     * Developers must implement this method to be notified when a new 
conversation has
      * just begun.
+     *
      * @param session the session that has just been activated.
      */
     public abstract void onOpen(Session session);
-    /** This method is called when the session with the client is terminated.
+
+    /**
+     * This method is called when the session with the client is terminated.
+     *
      * @param closeReason the reason the session was closed.
      */
-    public void onClose(CloseReason closeReason) {}
+    public void onClose(CloseReason closeReason) {
+    }
 
-    /** Developers may implement this method when the web socket session
+    /**
+     * Developers may implement this method when the web socket session
      * creates some kind of error that is not modeled in the web socket 
protocol. This may for example
      * be a notification that an incoming message is too big to handle, or 
that the incoming message could not be encoded.<br><br>
      * There are a number of categories of exception that this method is 
(currently) defined to handle:-<br>
@@ -77,11 +87,11 @@
      * - conversion errors encoding incoming messages before any message 
handler has been called.<br>
      * TBD We may come up with less of a 'catch-all' mechanism for handling 
exceptions, especially given the varying nature
      * of these categories of exception.
+     *
      * @param thr the throwable representing the problem.
      */
 
-    public void onError(Throwable thr) {}
+    public void onError(Throwable thr) {
+    }
 
-
-
 }
Index: trunk/api/src/main/java/javax/websocket/ClientContainer.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/ClientContainer.java        
(revision 54)
+++ trunk/api/src/main/java/javax/websocket/ClientContainer.java        
(revision 55)
@@ -45,69 +45,86 @@
 /**
  * A ClientContainer is an implementation provided object that allows the 
developer to
  * initiate a web socket handshake from the provided endpoint.
+ *
  * @author dannycoward
  * @since DRAFT 001
  */
 public interface ClientContainer {
-    /** Connect the supplied programmatic endpoint to its server using the 
supplied handshake
-     * parameters.
-     * @param olc  the client configuration used to connect the client
-     * @param path the complete path to the server endpoint 
-     */
-     void connectToServer(Endpoint endpoint, URL path) throws 
DeploymentException;
-     
-    /** Connect the supplied annotated object to its server using the 
supplied handshake
+
+    /**
+     * Connect the supplied annotated object to its server using the 
supplied handshake
      * parameters. The supplied object must be a class decorated with the 
class level
      * {@link WebSocketEndpoint} annotation.
-     * @param pojo the endpoint which will be connected to the server
-     * @param olc  the client configuration used to connect the client
-     * @param path the complete path to the server endpoint 
+     *
+     * @param endpoint either subclass of {@link Endpoint} or a POJO 
annotated with {@link WebSocketClient} annotation.
+     * @param path     the complete path to the server endpoint
      */
-     void connectToServer(Object pojo, URL path) throws DeploymentException;
-    /** Return a copy of the Set of the currently active web socket 
sessions. These
+    void connectToServer(Object endpoint, URI path) throws 
DeploymentException;
+
+    /**
+     * Return a copy of the Set of the currently active web socket sessions. 
These
      * sessions may not still be active at any point after the return of 
this method, for
      * example, Iterating over the set at a later time may yield closed 
session. Use
      * session.isActive() to check.
+     *
      * @return the set of sessions, active at the time of return.
      */
-     Set<Session> getActiveSessions();
+    Set<Session> getActiveSessions();
 
-    /** Return the maximum time in milliseconds that a web socket session 
may be idle before
+    /**
+     * Return the maximum time in milliseconds that a web socket session may 
be idle before
      * the container may close it.
+     *
      * @return the number of milliseconds idle web socket sessions are active
      */
-     long getMaxSessionIdleTimeout();
-    /** Sets the maximum time that a web socket session may be idle before
+    long getMaxSessionIdleTimeout();
+
+    /**
+     * Sets the maximum time that a web socket session may be idle before
      * the container may close it.
-     * @param max the maximum time in milliseconds.
+     *
+     * @param timeout the maximum time in milliseconds.
      */
-     void setMaxSessionIdleTimeout(long timeout);
-     /** Returns the maximum size of binary message that this container
-      * will buffer.
-      * @return the maximum size of binary message in number of bytes
-      */
-     long getMaxBinaryMessageBufferSize();
-    /** Sets the maximum size of binary message that this container
-      * will buffer.
-      * @param  max the maximum size of binary message in number of bytes
-      */
-     void setMaxBinaryMessageBufferSize(long max);
-    /** Sets the maximum size of text message that this container
+    void setMaxSessionIdleTimeout(long timeout);
+
+    /**
+     * Returns the maximum size of binary message that this container
      * will buffer.
+     *
+     * @return the maximum size of binary message in number of bytes
+     */
+    long getMaxBinaryMessageBufferSize();
+
+    /**
+     * Sets the maximum size of binary message that this container
+     * will buffer.
+     *
+     * @param max the maximum size of binary message in number of bytes
+     */
+    void setMaxBinaryMessageBufferSize(long max);
+
+    /**
+     * Sets the maximum size of text message that this container
+     * will buffer.
+     *
      * @return the maximum size of text message in number of bytes
      */
-     long getMaxTextMessageBufferSize();
-     /** Sets the maximum size of text message that this container
-      * will buffer.
-      * @param max the maximum size of text message in number of bytes
-      */
-     void setMaxTextMessageBufferSize(long max);
+    long getMaxTextMessageBufferSize();
 
-    /** 
+    /**
+     * Sets the maximum size of text message that this container
+     * will buffer.
+     *
+     * @param max the maximum size of text message in number of bytes
+     */
+    void setMaxTextMessageBufferSize(long max);
+
+    /**
      * Return the set of Extensions installed in the container.
-     * @return the set of extensions. 
+     *
+     * @return the set of extensions.
      */
-     Set<String> getInstalledExtensions();
+    Set<String> getInstalledExtensions();
 }
 
 
Index: trunk/api/src/main/java/javax/websocket/MessageHandler.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/MessageHandler.java (revision 54)
+++ trunk/api/src/main/java/javax/websocket/MessageHandler.java (revision 55)
@@ -53,35 +53,44 @@
  * clients within the same message handlers may do so by adding the same 
instance as a handler on each of the Session
  * objects for the clients. In that case, they will need to code with the 
possibility of their MessageHandler
  * being called concurrently by multiple threads, each one arising from a 
different client session.
+ *
+ * @author dannycoward
  * @since DRAFT 001
- * @author dannycoward
  */
 public interface MessageHandler {
 
-    /** This kind of handler is notified by the container on arrival of a 
complete message. If the message is received in parts,
+    /**
+     * This kind of handler is notified by the container on arrival of a 
complete message. If the message is received in parts,
      * the container buffers it until it is has been fully received before 
this method is called. The allowed types for T
      * are String, ByteBuffer, byte[], Reader, InputStream, PongMessage, and 
any developer object for which there
      * is a corresponding Decoder configured.
+     *
      * @since DRAFT 002
      */
-     interface Basic<T> extends MessageHandler {
-         /** Called when the message has been fully received.
+    interface Basic<T> extends MessageHandler {
+        /**
+         * Called when the message has been fully received.
+         *
          * @param message the message data.
          */
-         void onMessage(T message);
+        void onMessage(T message);
     }
-    /** This kind of listener listens is notified by the container as parts 
of a message arrive. The allowable types for T
-     * are String, ByteBuffer and byte[]. 
+
+    /**
+     * This kind of listener listens is notified by the container as parts 
of a message arrive. The allowable types for T
+     * are String, ByteBuffer and byte[].
+     *
      * @since DRAFT 002
      */
-     interface Async<T> extends MessageHandler {
-        /** Called when the next part of a message has been fully received.
+    interface Async<T> extends MessageHandler {
+        /**
+         * Called when the next part of a message has been fully received.
+         *
          * @param partialMessage the partial message data.
-         * @param last flag to indicate if this partialMessage is the last 
of the whole message being delivered.
+         * @param last           flag to indicate if this partialMessage is 
the last of the whole message being delivered.
          */
-         void onMessage(T partialMessage, boolean last);
+        void onMessage(T partialMessage, boolean last);
     }
 
-    
 
 }
Index: trunk/api/src/main/java/javax/websocket/Session.java
===================================================================
--- trunk/api/src/main/java/javax/websocket/Session.java        (revision 54)
+++ trunk/api/src/main/java/javax/websocket/Session.java        (revision 55)
@@ -52,121 +52,177 @@
  * messages that are part of this newly created conversation by providing a 
MessageHandler to the
  * session, and can send messages to the other end of the conversation by 
means of the RemoteEndpoint object
  * obtained from this session.
+ *
  * @author dannycoward
  * @since DRAFT 001
  */
 public interface Session {
 
-    /** Return the container that this session is part of.
-     @return the container
+    /**
+     * Return the container that this session is part of.
+     *
+     * @return the container
      */
-     ClientContainer getContainer();
+    ClientContainer getContainer();
 
-    /** Sets the list of encoders to be used in this session in order of 
preference.
+    /**
+     * Sets the list of encoders to be used in this session in order of 
preference.
      * The first element in the list that matches for a given type
      * will be used rather than a later element in the list that matches for 
a given type.
+     *
      * @param encoders the list of encoders.
      */
-     void setEncoders(List<Encoder> encoders);
-    /** Register to handle to incoming messages in this conversation.
-     * @listener the MessageHandler to be added.
+    void setEncoders(List<Encoder> encoders);
+
+    /**
+     * Register to handle to incoming messages in this conversation.
+     *
+     * @param listener the MessageHandler to be added.
      */
-     void addMessageHandler(MessageHandler listener);
-    /** Return an unmodifiable copy of the set of MessageHandlers for this 
Session.
+    void addMessageHandler(MessageHandler listener);
+
+    /**
+     * Return an unmodifiable copy of the set of MessageHandlers for this 
Session.
+     *
      * @return the set of message handlers.
      */
-     Set<MessageHandler> getMessageHandlers();
-    /** Remove the given MessageHandler from the set belonging to this 
session.
+    Set<MessageHandler> getMessageHandlers();
+
+    /**
+     * Remove the given MessageHandler from the set belonging to this 
session.
+     *
      * @param listener the handler to be removed.
-     * <bold>TBD</bold> Threading issues wrt handler invocations vs removal
+     *                 <bold>TBD</bold> Threading issues wrt handler 
invocations vs removal
      */
-     void removeMessageHandler(MessageHandler listener);
-    /** Returns the version of the websocket protocol currently being used. 
This is taken
+    void removeMessageHandler(MessageHandler listener);
+
+    /**
+     * Returns the version of the websocket protocol currently being used. 
This is taken
      * as the value of the Sec-WebSocket-Version header used in the opening 
handshake. i.e. "13".
+     *
      * @return the protocol version.
      */
-     String getProtocolVersion();
-    /** Return the sub protocol agreed during the websocket handshake for 
this conversation.
+    String getProtocolVersion();
+
+    /**
+     * Return the sub protocol agreed during the websocket handshake for 
this conversation.
+     *
      * @return the negotiated subprotocol.
      */
-     String getNegotiatedSubprotocol();
-    /** Return the list of extensions currently in use for this conversation.
+    String getNegotiatedSubprotocol();
+
+    /**
+     * Return the list of extensions currently in use for this conversation.
+     *
      * @return the negotiated extensions.
      */
-     List<String> getNegotiatedExtensions();
-    /** Return true if and only if the underlying socket is using a secure 
transport.
+    List<String> getNegotiatedExtensions();
+
+    /**
+     * Return true if and only if the underlying socket is using a secure 
transport.
+     *
      * @return whether its using a secure transport.
      */
-     boolean isSecure();
-    /** Return the number of seconds since the underlying connection had any 
activity.
+    boolean isSecure();
+
+    /**
+     * Return the number of seconds since the underlying connection had any 
activity.
+     *
      * @return the inactive time.
      */
-     long getInactiveTime();
-    /** Return true if and only if the underlying socket is open.
[truncated due to length]



[websocket-spec~source-code-repository:55] ClientContainer.connectToServer URL->URI + formating.

stepan . kopriva 11/19/2012
 
 
Close
loading
Please Confirm
Close