org.springframework.integration.file.filters
Class AcceptOnceFileListFilter

java.lang.Object
  extended by org.springframework.integration.file.entries.AbstractEntryListFilter<T>
      extended by org.springframework.integration.file.entries.AcceptOnceEntryFileListFilter<java.io.File>
          extended by org.springframework.integration.file.filters.AcceptOnceFileListFilter
All Implemented Interfaces:
InitializingBean, EntryListFilter<java.io.File>, FileListFilter

public class AcceptOnceFileListFilter
extends AcceptOnceEntryFileListFilter<java.io.File>
implements FileListFilter

FileListFilter that passes files only one time. This can conveniently be used to prevent duplication of files, as is done in FileReadingMessageSource.

This implementation is thread safe.

Since:
1.0.0

Constructor Summary
AcceptOnceFileListFilter()
          Creates an AcceptOnceFileFilter based on an unbounded queue.
AcceptOnceFileListFilter(int maxCapacity)
          Creates an AcceptOnceFileFilter that is based on a bounded queue.
 
Method Summary
 java.util.List<java.io.File> filterFiles(java.io.File[] files)
          Filter out all the files that this instance has seen before.
 
Methods inherited from class org.springframework.integration.file.entries.AcceptOnceEntryFileListFilter
accept
 
Methods inherited from class org.springframework.integration.file.entries.AbstractEntryListFilter
afterPropertiesSet, filterEntries
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AcceptOnceFileListFilter

public AcceptOnceFileListFilter(int maxCapacity)
Creates an AcceptOnceFileFilter that is based on a bounded queue. If the queue overflows, files that fall out will be passed through this filter again if passed to the filterFiles(File[]) method.

Parameters:
maxCapacity - the maximum number of Files to maintain in the 'seen' queue.

AcceptOnceFileListFilter

public AcceptOnceFileListFilter()
Creates an AcceptOnceFileFilter based on an unbounded queue.

Method Detail

filterFiles

public java.util.List<java.io.File> filterFiles(java.io.File[] files)
Filter out all the files that this instance has seen before.

Specified by:
filterFiles in interface FileListFilter