# 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