Package org.apache.axiom.util.activation

## Class EmptyDataSource

- java.lang.Object
- - org.apache.axiom.util.activation.EmptyDataSource

- All Implemented Interfaces:
    `DataSource`, `SizeAwareDataSource`

      public class EmptyDataSource
      extends Object
      implements SizeAwareDataSource

  A data source with empty (zero length) content.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static EmptyDataSource` | `INSTANCE` | Empty data source instance with content type `application/octet-stream`.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EmptyDataSource​(String contentType)` | Construct an empty data source with the given content type.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getContentType()` |
    `InputStream` | `getInputStream()` |
    `String` | `getName()` |
    `OutputStream` | `getOutputStream()` |
    `long` | `getSize()` | Get the size of the data source.

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

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

- - ### Field Detail

    - #### INSTANCE

          public static final EmptyDataSource INSTANCE

      Empty data source instance with content type `application/octet-stream`.

  - ### Constructor Detail

    - #### EmptyDataSource

          public EmptyDataSource​(String contentType)

      Construct an empty data source with the given content type.
      Parameters:
        `contentType` - the content type

  - ### Method Detail

    - #### getContentType

          public String getContentType()

      Specified by:
        `getContentType` in interface `DataSource`

    - #### getName

          public String getName()

      Specified by:
        `getName` in interface `DataSource`

    - #### getSize

          public long getSize()

      Description copied from interface: `SizeAwareDataSource`
      Get the size of the data source. Implementations must return the number of bytes that can be read from the input stream returned by `DataSource.getInputStream()` before reaching the end of the stream. If the implementation is unable to determine the size, it must return -1.
      Specified by:
        `getSize` in interface `SizeAwareDataSource`
      Returns:
        the size of the data source or -1 if the size is not known

    - #### getInputStream

          public InputStream getInputStream()
                                     throws IOException

      Specified by:
        `getInputStream` in interface `DataSource`
      Throws:
        `IOException`

    - #### getOutputStream

          public OutputStream getOutputStream()
                                       throws IOException

      Specified by:
        `getOutputStream` in interface `DataSource`
      Throws:
        `IOException`