Class S3PersistentAcceptOnceFileListFilter

java.lang.Object
org.springframework.integration.file.filters.AbstractFileListFilter<F>
org.springframework.integration.file.filters.AbstractDirectoryAwareFileListFilter<F>
org.springframework.integration.file.filters.AbstractPersistentAcceptOnceFileListFilter<software.amazon.awssdk.services.s3.model.S3Object>
org.springframework.integration.aws.support.filters.S3PersistentAcceptOnceFileListFilter
All Implemented Interfaces:
Closeable, AutoCloseable, org.springframework.integration.file.filters.FileListFilter<software.amazon.awssdk.services.s3.model.S3Object>, org.springframework.integration.file.filters.ResettableFileListFilter<software.amazon.awssdk.services.s3.model.S3Object>, org.springframework.integration.file.filters.ReversibleFileListFilter<software.amazon.awssdk.services.s3.model.S3Object>

public class S3PersistentAcceptOnceFileListFilter extends org.springframework.integration.file.filters.AbstractPersistentAcceptOnceFileListFilter<software.amazon.awssdk.services.s3.model.S3Object>
Persistent file list filter using the server's file timestamp to detect if we've already 'seen' this file.
Author:
Artem Bilan
  • Field Summary

    Fields inherited from class org.springframework.integration.file.filters.AbstractPersistentAcceptOnceFileListFilter

    flushableStore, flushOnUpdate, prefix, store
  • Constructor Summary

    Constructors
    Constructor
    Description
    S3PersistentAcceptOnceFileListFilter(org.springframework.integration.metadata.ConcurrentMetadataStore store, String prefix)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected String
    fileName(software.amazon.awssdk.services.s3.model.S3Object file)
     
    protected boolean
    isDirectory(software.amazon.awssdk.services.s3.model.S3Object file)
    Always return false since no directory notion in S3.
    protected long
    modified(software.amazon.awssdk.services.s3.model.S3Object file)
     

    Methods inherited from class org.springframework.integration.file.filters.AbstractPersistentAcceptOnceFileListFilter

    accept, buildKey, close, fileStillExists, flushIfNeeded, isEqual, remove, rollback, setFlushOnUpdate

    Methods inherited from class org.springframework.integration.file.filters.AbstractDirectoryAwareFileListFilter

    alwaysAccept, isForRecursion, setAlwaysAcceptDirectories, setForRecursion

    Methods inherited from class org.springframework.integration.file.filters.AbstractFileListFilter

    filterFiles, supportsSingleFileFiltering

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.springframework.integration.file.filters.FileListFilter

    filterFiles, isForRecursion, supportsSingleFileFiltering
  • Constructor Details

    • S3PersistentAcceptOnceFileListFilter

      public S3PersistentAcceptOnceFileListFilter(org.springframework.integration.metadata.ConcurrentMetadataStore store, String prefix)
  • Method Details

    • modified

      protected long modified(software.amazon.awssdk.services.s3.model.S3Object file)
      Specified by:
      modified in class org.springframework.integration.file.filters.AbstractPersistentAcceptOnceFileListFilter<software.amazon.awssdk.services.s3.model.S3Object>
    • fileName

      protected String fileName(software.amazon.awssdk.services.s3.model.S3Object file)
      Specified by:
      fileName in class org.springframework.integration.file.filters.AbstractPersistentAcceptOnceFileListFilter<software.amazon.awssdk.services.s3.model.S3Object>
    • isDirectory

      protected boolean isDirectory(software.amazon.awssdk.services.s3.model.S3Object file)
      Always return false since no directory notion in S3.
      Overrides:
      isDirectory in class org.springframework.integration.file.filters.AbstractPersistentAcceptOnceFileListFilter<software.amazon.awssdk.services.s3.model.S3Object>
      Parameters:
      file - the S3Object
      Returns:
      always false: S3 does not have a notion of directory
      Since:
      2.5