Package org.apache.tomcat.websocket.pojo

## Class PojoMethodMapping

- java.lang.Object
- - org.apache.tomcat.websocket.pojo.PojoMethodMapping

-     public class PojoMethodMapping
      extends Object

  For a POJO class annotated with `ServerEndpoint`, an instance of this class creates and caches the method handler, method information and parameter information for the onXXX calls.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PojoMethodMapping​(Class<?> clazzPojo, List<Class<? extends Decoder>> decoderClazzes, String wsPath, InstanceManager instanceManager)` | Create a method mapping for the given POJO

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Set<MessageHandler>` | `getMessageHandlers​(Object pojo, Map<String,​String> pathParameters, Session session, EndpointConfig config)` |
    `Method` | `getOnClose()` |
    `Object[]` | `getOnCloseArgs​(Map<String,​String> pathParameters, Session session, CloseReason closeReason)` |
    `Method` | `getOnError()` |
    `Object[]` | `getOnErrorArgs​(Map<String,​String> pathParameters, Session session, Throwable throwable)` |
    `Method` | `getOnOpen()` |
    `Object[]` | `getOnOpenArgs​(Map<String,​String> pathParameters, Session session, EndpointConfig config)` |
    `String` | `getWsPath()` |
    `boolean` | `hasMessageHandlers()` |

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

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

- - ### Constructor Detail

    - #### PojoMethodMapping

          public PojoMethodMapping​(Class<?> clazzPojo,
                                   List<Class<? extends Decoder>> decoderClazzes,
                                   String wsPath,
                                   InstanceManager instanceManager)
                            throws DeploymentException

      Create a method mapping for the given POJO
      Parameters:
        `clazzPojo` - POJO implementation class
        `decoderClazzes` - Set of potential decoder classes
        `wsPath` - Path at which the endpoint will be deployed
        `instanceManager` - Instance manager to use to create Decoder instances
      Throws:
        `DeploymentException` - If the mapping cannot be completed

  - ### Method Detail

    - #### getWsPath

          public String getWsPath()

    - #### getOnOpen

          public Method getOnOpen()

    - #### getOnOpenArgs

          public Object[] getOnOpenArgs​(Map<String,​String> pathParameters,
                                        Session session,
                                        EndpointConfig config)
                                 throws DecodeException

      Throws:
        `DecodeException`

    - #### getOnClose

          public Method getOnClose()

    - #### getOnCloseArgs

          public Object[] getOnCloseArgs​(Map<String,​String> pathParameters,
                                         Session session,
                                         CloseReason closeReason)
                                  throws DecodeException

      Throws:
        `DecodeException`

    - #### getOnError

          public Method getOnError()

    - #### getOnErrorArgs

          public Object[] getOnErrorArgs​(Map<String,​String> pathParameters,
                                         Session session,
                                         Throwable throwable)
                                  throws DecodeException

      Throws:
        `DecodeException`

    - #### hasMessageHandlers

          public boolean hasMessageHandlers()

    - #### getMessageHandlers

          public Set<MessageHandler> getMessageHandlers​(Object pojo,
                                                        Map<String,​String> pathParameters,
                                                        Session session,
                                                        EndpointConfig config)