Package org.apache.axiom.attachments

## Class CachedFileDataSource

- java.lang.Object
- - javax.activation.FileDataSource
  - - org.apache.axiom.attachments.CachedFileDataSource

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

      public class CachedFileDataSource
      extends FileDataSource
      implements SizeAwareDataSource

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CachedFileDataSource​(File file)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getContentType()` |
    `long` | `getSize()` | Get the size of the data source.
    `void` | `setContentType​(String contentType)` |

    - ### Methods inherited from class javax.activation.FileDataSource

      `getFile, getInputStream, getName, getOutputStream, setFileTypeMap`

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

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

    - ### Methods inherited from interface javax.activation.DataSource

      `getInputStream, getName, getOutputStream`

- - ### Constructor Detail

    - #### CachedFileDataSource

          public CachedFileDataSource​(File file)

  - ### Method Detail

    - #### getContentType

          public String getContentType()

      Specified by:
        `getContentType` in interface `DataSource`
      Overrides:
        `getContentType` in class `FileDataSource`

    - #### setContentType

          public void setContentType​(String contentType)

    - #### 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