# Class Util

java.lang.Object
org.apache.tomcat.websocket.Util

public class Util extends Object
Utility class for internal use only within the `org.apache.tomcat.websocket` package.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`Util.DecoderMatch`
Holds the result of matching decoders against a target type.

## Method Summary

Modifier and Type
Method
Description
`static Object`
`coerceToType(Class<?> type, String value)`
Coerces a string value to the specified type.
`static List<DecoderEntry>`
`getDecoders(List<Class<? extends Decoder>> decoderClazzes, InstanceManager instanceManager)`
Build the list of decoder entries from a set of decoder implementations.
`static boolean`
`isPrimitive(Class<?> clazz)`
Returns whether the given class is a primitive type or its wrapper class.
`static void`
`parseExtensionHeader(List<Extension> extensions, String header)`
Parses a Sec-WebSocket-Extensions header value and populates the given list with the parsed extensions.

### Methods inherited from class Object

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

## Method Details

### isPrimitive

public static boolean isPrimitive(Class<?> clazz)
Returns whether the given class is a primitive type or its wrapper class.

Parameters:
  `clazz` - The class to check
Returns:
  `true` if the class is a primitive or wrapper type, `false` otherwise

### coerceToType

public static Object coerceToType(Class<?> type, String value)
Coerces a string value to the specified type.

Parameters:
  `type` - The target type
  `value` - The string value to coerce
Returns:
  The coerced value
Throws:
  `IllegalArgumentException` - If the type is not supported

### getDecoders

public static List<DecoderEntry> getDecoders(List<Class<? extends Decoder>> decoderClazzes, InstanceManager instanceManager) throws DeploymentException
Build the list of decoder entries from a set of decoder implementations.

Parameters:
  `decoderClazzes` - Decoder implementation classes
  `instanceManager` - Instance manager to use to create Decoder instances
Returns:
  List of mappings from target type to associated decoder
Throws:
  `DeploymentException` - If a provided decoder class is not valid

### parseExtensionHeader

public static void parseExtensionHeader(List<Extension> extensions, String header)
Parses a Sec-WebSocket-Extensions header value and populates the given list with the parsed extensions.

Parameters:
  `extensions` - The list to populate with parsed extensions
  `header` - The header value to parse
Throws:
  `IllegalArgumentException` - If the header contains invalid tokens or values