Package org.syncany.plugins.transfer.features
Provides classes to extend the default 
TransferManager
 functionality with Features.
 
 Features are extensions for transfer managers, such as path awareness, transaction awareness or retriability.
The central classes in this package are the Feature
 to mark feature annotations, FeatureExtension
 to provide additional methods to a feature, and FeatureTransferManager
 to wrap the normal transfer manager with the feature's functionality.
- 
Interface Summary Interface Description FeatureExtension Marker interface to identify extensions forFeatureTransferManagers.FeatureTransferManager Feature transfer managers extend the functionality of regularTransferManagersby adding special behavior (such as path awareness, transaction awareness or retriability).PathAwareFeatureExtension The path aware feature extension must be defined in thePathAwarefeature in order to extend aTransferManagerthat was marked as 'path aware' with the required methods to manage the subfolders.ReadAfterWriteConsistentFeatureExtension The read write consistent feature extension must be defined in theReadAfterWriteConsistentfeature in order to extend aTransferManagerthat was marked as 'read write consistent' with the required methods to verify if a file exists on the remote side. - 
Class Summary Class Description PathAwareFeatureTransferManager The path aware transfer manager can be used to extend a backend storage with the ability to add subfolders to the folders with many files (e.g.PathAwareFeatureTransferManager.PathAwareRemoteFileAttributes ReadAfterWriteConsistentFeatureTransferManager The ReadWriteConsistentFeatureTransferManager waits specific amount of time afterReadAfterWriteConsistentFeatureTransferManager.upload(File, RemoteFile)andReadAfterWriteConsistentFeatureTransferManager.move(RemoteFile, RemoteFile)operations because some storage backends do no guarantee that a file immediately exists after creation.RetriableFeatureTransferManager The retriable transfer manager implements a simple try-sleep-retry mechanism for regularTransferManagers.TransactionAwareFeatureTransferManager The TransactionAwareTransferManager adds all functionality regarding transactions to existing transfer managers. - 
Annotation Types Summary Annotation Type Description Feature Annotation to identify and configureTransferManagerextensions.PathAware Feature annotation to mark a transfer manager of transfer plugins that need to be sub-foldered.ReadAfterWriteConsistent Some storage backends do not guarantee that a file immediately exists on the remote side after it is uploaded or moved.
This feature handles such cases by relaxing the strong assumption that a file is immediately available after creation due to upload or move operations.Retriable Feature annotation to make a transfer manager more reliable by making its core methods retriable.TransactionAware