View Javadoc

1   //
2   //  ========================================================================
3   //  Copyright (c) 1995-2016 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.annotations;
20  
21  import java.lang.reflect.Method;
22  
23  import javax.websocket.Decoder;
24  import javax.websocket.OnMessage;
25  
26  import org.eclipse.jetty.websocket.jsr356.MessageType;
27  
28  public interface IJsrMethod
29  {
30      /**
31       * Indicate that partial message support is desired
32       */
33      void enablePartialMessageSupport();
34  
35      /**
36       * Get the fully qualifed method name {classname}.{methodname}({params}) suitable for using in error messages.
37       * 
38       * @return the fully qualified method name for end users
39       */
40      String getFullyQualifiedMethodName();
41  
42      /**
43       * Get the Decoder to use for message decoding
44       * 
45       * @return the decoder class to use for message decoding
46       */
47      Class<? extends Decoder> getMessageDecoder();
48  
49      /**
50       * The type of message this method can handle
51       * 
52       * @return the message type if &#064;{@link OnMessage} annotated, null if unknown/unspecified
53       */
54      MessageType getMessageType();
55  
56      /**
57       * The reflected method
58       * 
59       * @return the method itself
60       */
61      Method getMethod();
62  
63      /**
64       * Indicator that partial message support is enabled
65       * 
66       * @return true if enabled
67       */
68      boolean isPartialMessageSupportEnabled();
69  
70      /**
71       * The message decoder class to use.
72       * 
73       * @param decoderClass
74       */
75      void setMessageDecoder(Class<? extends Decoder> decoderClass);
76  
77      /**
78       * The type of message this method can handle
79       * 
80       * @param type
81       *            the type of message
82       */
83      void setMessageType(MessageType type);
84  }