Package org.apache.axiom.attachments

# Class CachedFileDataSource

java.lang.Object
jakarta.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

  Modifier and Type
  Method
  Description
  `String`
  `getContentType()`
  `long`
  `getSize()`
  Get the size of the data source.
  `void`
  `setContentType(String contentType)`

  ### Methods inherited from class jakarta.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 jakarta.activation.DataSource

  `getInputStream, getName, getOutputStream`

- ## Constructor Details

  - ### CachedFileDataSource

    public CachedFileDataSource(File file)

- ## Method Details

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