javax.websocket.server

## Class ServerEndpointConfig.Builder

- java.lang.Object
- - javax.websocket.server.ServerEndpointConfig.Builder

- Enclosing interface:
    ServerEndpointConfig

      public static final class ServerEndpointConfig.Builder
      extends Object

  The ServerEndpointConfig.Builder is a class used for creating `ServerEndpointConfig.Builder` objects for the purposes of deploying a server endpoint.

  Here are some examples:

  Building a plain configuration for an endpoint with just a path.

       ServerEndpointConfig config = ServerEndpointConfig.Builder.create(ProgrammaticEndpoint.class, "/foo").build();

  Building a configuration with no subprotocols and a custom configurator.

       ServerEndpointConfig config = ServerEndpointConfig.Builder.create(ProgrammaticEndpoint.class, "/bar")
               .subprotocols(subprotocols)
               .configurator(new MyServerConfigurator())
               .build();

  Author:
    dannycoward

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ServerEndpointConfig` | `build()` Builds the configuration object using the current attributes that have been set on this builder object.
    `ServerEndpointConfig.Builder` | `configurator(ServerEndpointConfig.Configurator serverEndpointConfigurator)` Sets the custom configurator to use on the configuration object built by this builder.
    `static ServerEndpointConfig.Builder` | `create(Class<?> endpointClass, String path)` Creates the builder with the mandatory information of the endpoint class (programmatic or annotated), the relative URI or URI-template to use, and with no subprotocols, extensions, encoders, decoders or custom configurator.
    `ServerEndpointConfig.Builder` | `decoders(List<Class<? extends Decoder>> decoders)` Sets the decoder implementation classes to use in the configuration.
    `ServerEndpointConfig.Builder` | `encoders(List<Class<? extends Encoder>> encoders)` Sets the list of encoder implementation classes for this builder.
    `ServerEndpointConfig.Builder` | `extensions(List<Extension> extensions)` Sets the extensions to use in the configuration.
    `ServerEndpointConfig.Builder` | `subprotocols(List<String> subprotocols)` Sets the subprotocols to use in the configuration.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### create

          public static ServerEndpointConfig.Builder create(Class<?> endpointClass,
                                            String path)

      Creates the builder with the mandatory information of the endpoint class (programmatic or annotated), the relative URI or URI-template to use, and with no subprotocols, extensions, encoders, decoders or custom configurator.
      Parameters:
        `endpointClass` - the class of the endpoint to configure
        `path` - The URI or URI template where the endpoint will be deployed. A trailing "/" will be ignored and the path must begin with /.
      Returns:
        a new instance of ServerEndpointConfig.Builder

    - #### build

          public ServerEndpointConfig build()

      Builds the configuration object using the current attributes that have been set on this builder object.
      Returns:
        a new ServerEndpointConfig object.

    - #### encoders

          public ServerEndpointConfig.Builder encoders(List<Class<? extends Encoder>> encoders)

      Sets the list of encoder implementation classes for this builder.
      Parameters:
        `encoders` - the encoders
      Returns:
        this builder instance

    - #### decoders

          public ServerEndpointConfig.Builder decoders(List<Class<? extends Decoder>> decoders)

      Sets the decoder implementation classes to use in the configuration.
      Parameters:
        `decoders` - the decoders
      Returns:
        this builder instance.

    - #### subprotocols

          public ServerEndpointConfig.Builder subprotocols(List<String> subprotocols)

      Sets the subprotocols to use in the configuration.
      Parameters:
        `subprotocols` - the subprotocols.
      Returns:
        this builder instance

    - #### extensions

          public ServerEndpointConfig.Builder extensions(List<Extension> extensions)

      Sets the extensions to use in the configuration.
      Parameters:
        `extensions` - the extensions to use.
      Returns:
        this builder instance.

    - #### configurator

          public ServerEndpointConfig.Builder configurator(ServerEndpointConfig.Configurator serverEndpointConfigurator)

      Sets the custom configurator to use on the configuration object built by this builder.
      Parameters:
        `serverEndpointConfigurator` - the configurator
      Returns:
        this builder instance

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.