All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jakarta.websocket.ClientEndpoint Maven / Gradle / Ivy

/*
 * Copyright (c) 2018, 2019 Oracle and/or its affiliates and others.
 * All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package jakarta.websocket;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * The ClientEndpoint annotation a class level annotation is used to denote that a POJO is a web socket client and can
 * be deployed as such. Similar to {@code jakarta.websocket.server.ServerEndpoint}, POJOs that are annotated with this
 * annotation can have methods that, using the web socket method level annotations, are web socket lifecycle methods.
 * 

* For example: * *

 * 
 * @ClientEndpoint(subprotocols="chat")
 * public class HelloServer {
 *
 *     @OnMessage
 *     public void processMessageFromServer(String message, Session session) {
 *         System.out.println("Message came from the server ! " + message);
 *     }
 *
 * }
 * 
 * 
* * @author dannycoward */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface ClientEndpoint { /** * The names of the subprotocols this client supports. * * @return the array of names of the subprotocols. */ String[] subprotocols() default {}; /** * The array of Java classes that are to act as Decoders for messages coming into the client. * * @return the array of decoders. */ Class[] decoders() default {}; /** * The array of Java classes that are to act as Encoders for messages sent by the client. * * @return the array of decoders. */ Class[] encoders() default {}; /** * An optional custom configurator class that the developer would like to use to provide custom configuration of new * instances of this endpoint. The implementation creates a new instance of the configurator per logical endpoint. * * @return the custom configurator class, or ClientEndpointConfigurator.class if none was provided in the * annotation. */ public Class configurator() default ClientEndpointConfig.Configurator.class; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy