Class DeleteOnCloseFileResource

java.lang.Object
net.solarnetwork.io.DeleteOnCloseFileResource
All Implemented Interfaces:
org.springframework.core.io.InputStreamSource, org.springframework.core.io.Resource

public class DeleteOnCloseFileResource extends Object implements org.springframework.core.io.Resource
A Resource that deletes any associated File once the stream returned by getInputStream() is closed.
Since:
1.43
Version:
1.1
Author:
matt
  • Constructor Details

    • DeleteOnCloseFileResource

      public DeleteOnCloseFileResource(org.springframework.core.io.Resource delegate) throws IOException
      Construct from a resource.

      The Resource.getFile() method will determine the file to delete.

      Parameters:
      delegate - the resource to delegate to
      Throws:
      IOException - if a file cannot be determined for the resource
    • DeleteOnCloseFileResource

      public DeleteOnCloseFileResource(org.springframework.core.io.Resource delegate, File file)
      Construct from a resource and explicit file.
      Parameters:
      delegate - the resource to delegate to
      file - the file to delete after reading
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getInputStream

      public InputStream getInputStream() throws IOException
      Specified by:
      getInputStream in interface org.springframework.core.io.InputStreamSource
      Throws:
      IOException
    • exists

      public boolean exists()
      Specified by:
      exists in interface org.springframework.core.io.Resource
    • isReadable

      public boolean isReadable()
      Specified by:
      isReadable in interface org.springframework.core.io.Resource
    • isOpen

      public boolean isOpen()
      Specified by:
      isOpen in interface org.springframework.core.io.Resource
    • getURL

      public URL getURL() throws IOException
      Specified by:
      getURL in interface org.springframework.core.io.Resource
      Throws:
      IOException
    • getURI

      public URI getURI() throws IOException
      Specified by:
      getURI in interface org.springframework.core.io.Resource
      Throws:
      IOException
    • getFile

      public File getFile() throws IOException
      Specified by:
      getFile in interface org.springframework.core.io.Resource
      Throws:
      IOException
    • contentLength

      public long contentLength() throws IOException
      Specified by:
      contentLength in interface org.springframework.core.io.Resource
      Throws:
      IOException
    • lastModified

      public long lastModified() throws IOException
      Specified by:
      lastModified in interface org.springframework.core.io.Resource
      Throws:
      IOException
    • createRelative

      public org.springframework.core.io.Resource createRelative(String relativePath) throws IOException
      Specified by:
      createRelative in interface org.springframework.core.io.Resource
      Throws:
      IOException
    • getFilename

      public String getFilename()
      Specified by:
      getFilename in interface org.springframework.core.io.Resource
    • getDescription

      public String getDescription()
      Specified by:
      getDescription in interface org.springframework.core.io.Resource