Package org.apache.tomcat.websocket.pojo

## Class PojoMessageHandlerWholeBase<T>

- java.lang.Object
- - org.apache.tomcat.websocket.pojo.PojoMessageHandlerBase<T>
  - - org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase<T>

Type Parameters:
  `T` - The type of message to handle

All Implemented Interfaces:
  `MessageHandler`, `MessageHandler.Whole<T>`, `WrappedMessageHandler`

Direct Known Subclasses:
  `PojoMessageHandlerWholeBinary`, `PojoMessageHandlerWholePong`, `PojoMessageHandlerWholeText`

    public abstract class PojoMessageHandlerWholeBase<T>
    extends PojoMessageHandlerBase<T>
    implements MessageHandler.Whole<T>

Common implementation code for the POJO whole message handlers. All the real work is done in this class and in the superclass.

### Nested Class Summary

### Nested classes/interfaces inherited from interface jakarta.websocket.MessageHandler

`MessageHandler.Partial<T>, MessageHandler.Whole<T>`

### Field Summary

Fields
`protected List<Decoder>` `decoders`

### Fields inherited from class org.apache.tomcat.websocket.pojo.PojoMessageHandlerBase

`convert, indexPayload, indexSession, maxMessageSize, method, params, pojo, session`

### Constructor Summary

Constructors
`PojoMessageHandlerWholeBase​(Object pojo, Method method, Session session, Object[] params, int indexPayload, boolean convert, int indexSession, long maxMessageSize)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected Object` `convert​(T message)`
`protected Decoder` `createDecoderInstance​(Class<? extends Decoder> clazz)`
`protected abstract Object` `decode​(T message)`
`protected void` `onClose()`
`void` `onMessage​(T message)` Called when a whole message is available to be processed.

### Methods inherited from class org.apache.tomcat.websocket.pojo.PojoMessageHandlerBase

`getMaxMessageSize, getWrappedHandler, handlePojoMethodException, processResult`

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

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

### Field Detail

#### decoders

    protected final List<Decoder> decoders

### Constructor Detail

#### PojoMessageHandlerWholeBase

    public PojoMessageHandlerWholeBase​(Object pojo,
                                       Method method,
                                       Session session,
                                       Object[] params,
                                       int indexPayload,
                                       boolean convert,
                                       int indexSession,
                                       long maxMessageSize)

### Method Detail

#### createDecoderInstance

    protected Decoder createDecoderInstance​(Class<? extends Decoder> clazz)
                                     throws ReflectiveOperationException,
                                            NamingException

Throws:
  `ReflectiveOperationException`
  `NamingException`

#### onMessage

    public final void onMessage​(T message)

Description copied from interface: `jakarta.websocket.MessageHandler.Whole`
Called when a whole message is available to be processed.

Specified by:
  `onMessage` in interface `MessageHandler.Whole<T>`
Parameters:
  `message` - The message

#### onClose

    protected void onClose()

#### convert

    protected Object convert​(T message)

#### decode

    protected abstract Object decode​(T message)
                              throws DecodeException

Throws:
  `DecodeException`