MTOMFeature (Java SE 10 & JDK 10 )
Keywords: javax.xml.ws.soap.MTOMFeature class

Module java.xml.ws
Package javax.xml.ws.soap

## Class MTOMFeature

- java.lang.Object
- - javax.xml.ws.WebServiceFeature
  - - javax.xml.ws.soap.MTOMFeature

-     public final class MTOMFeature
      extends WebServiceFeature

  This feature represents the use of MTOM with a web service. This feature can be used during the creation of SEI proxy, and `Dispatch` instances on the client side and `Endpoint` instances on the server side. This feature cannot be used for `Service` instance creation on the client side.

  The following describes the affects of this feature with respect to being enabled or disabled:

  - ENABLED: In this Mode, MTOM will be enabled. A receiver MUST accept both a non-optimized and an optimized message, and a sender MAY send an optimized message, or a non-optimized message. The heuristics used by a sender to determine whether to use optimization or not are implementation-specific.
  - DISABLED: In this Mode, MTOM will be disabled

  The `threshold` property can be used to set the threshold value used to determine when binary data should be XOP encoded.

  Since:
    1.6, JAX-WS 2.1

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `ID` | Constant value identifying the MTOMFeature
    `protected int` | `threshold` | Property for MTOM threshold value.

    - ### Fields declared in class javax.xml.ws.WebServiceFeature

      `enabled`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MTOMFeature()` | Create an `MTOMFeature`.
    `MTOMFeature​(boolean enabled)` | Creates a `MTOMFeature`.
    `MTOMFeature​(boolean enabled, int threshold)` | Creates a `MTOMFeature`.
    `MTOMFeature​(int threshold)` | Creates a `MTOMFeature`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getThreshold()` | Gets the threshold value used to determine when binary data should be sent as an attachment.

    - ### Methods declared in class java.lang.Object

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

    - ### Methods declared in class javax.xml.ws.WebServiceFeature

      `getID, isEnabled`

- - ### Field Detail

    - #### ID

          public static final String ID

      Constant value identifying the MTOMFeature
      See Also:
        Constant Field Values

    - #### threshold

          protected int threshold

      Property for MTOM threshold value. This property serves as a hint when MTOM is enabled, binary data above this size in bytes SHOULD be sent as attachment. The value of this property MUST always be >= 0. Default value is 0.

  - ### Constructor Detail

    - #### MTOMFeature

          public MTOMFeature()

      Create an `MTOMFeature`. The instance created will be enabled.

    - #### MTOMFeature

          public MTOMFeature​(boolean enabled)

      Creates a `MTOMFeature`.
      Parameters:
        `enabled` - specifies if this feature should be enabled or not

    - #### MTOMFeature

          public MTOMFeature​(int threshold)

      Creates a `MTOMFeature`. The instance created will be enabled.
      Parameters:
        `threshold` - the size in bytes that binary data SHOULD be before being sent as an attachment.
      Throws:
        `WebServiceException` - if threshold is < 0

    - #### MTOMFeature

          public MTOMFeature​(boolean enabled,
                             int threshold)

      Creates a `MTOMFeature`.
      Parameters:
        `enabled` - specifies if this feature should be enabled or not
        `threshold` - the size in bytes that binary data SHOULD be before being sent as an attachment.
      Throws:
        `WebServiceException` - if threshold is < 0

  - ### Method Detail

    - #### getThreshold

          public int getThreshold()

      Gets the threshold value used to determine when binary data should be sent as an attachment.
      Returns:
        the current threshold size in bytes