Package org.duracloud.sync.endpoint
Class FileSystemSyncEndpoint
java.lang.Object
org.duracloud.sync.endpoint.FileSystemSyncEndpoint
- All Implemented Interfaces:
SyncEndpoint
Allows syncing to be performed to a location on the local file system.
This class is primarily for testing purposes, and it not intended for
production use.
Note that directories that have been deleted at the source are not deleted
by this endpoint. The nature of cloud storage is that if no files exist in
a given directory, that directory doesn't exist (directories are completely
virtual and exist only in the names of the individual files.)
-
Constructor Summary
ConstructorsConstructorDescriptionFileSystemSyncEndpoint(File syncToDir, boolean syncDeletes) Creates a SyncEnpoint pointing to a directory on the local file system where files will be synced to. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddEndPointListener(EndPointListener listener) Registers a listenervoiddeleteContent(String spaceId, String contentId) Removes content from the endpoint.Retrieves a listing of all files available at the endpoint.protected FilegetSyncToFile(MonitoredFile syncFile, File watchDir) voidremoveEndPointListener(EndPointListener listener) Unregisters a listenerbooleansyncFile(MonitoredFile syncFile, File watchDir) Ensures that the endpoint includes a file equivalent to the provided local file: - If the local file exists but no file with the same path exists at the endpoint, the local file will be copied to the endpoint - If the local file exists and is different from a file with the same path at the endpoint, the local file will replace the file at the endpoint.syncFileAndReturnDetailedResult(MonitoredFile monitoredFile, File watchDir) An alternate form of the syncFile method that returns a more nuanced result.
-
Constructor Details
-
FileSystemSyncEndpoint
Creates a SyncEnpoint pointing to a directory on the local file system where files will be synced to.- Parameters:
syncToDir-
-
-
Method Details
-
syncFile
Description copied from interface:SyncEndpointEnsures that the endpoint includes a file equivalent to the provided local file: - If the local file exists but no file with the same path exists at the endpoint, the local file will be copied to the endpoint - If the local file exists and is different from a file with the same path at the endpoint, the local file will replace the file at the endpoint. - If the local file does not exist (it has been deleted), a file with the same path will be removed at the endpoint (if it exists)- Specified by:
syncFilein interfaceSyncEndpoint- Parameters:
syncFile- local file to sync with the endpointwatchDir- the directory under watch in which this file resides- Returns:
- true if file was successfully synced, false otherwise
-
syncFileAndReturnDetailedResult
Description copied from interface:SyncEndpointAn alternate form of the syncFile method that returns a more nuanced result.- Specified by:
syncFileAndReturnDetailedResultin interfaceSyncEndpoint- Returns:
-
getSyncToFile
-
getFilesList
Description copied from interface:SyncEndpointRetrieves a listing of all files available at the endpoint. This list is to be used for comparison with the local system.- Specified by:
getFilesListin interfaceSyncEndpoint- Returns:
- Iterator allowing access to complete file listing
-
addEndPointListener
Description copied from interface:SyncEndpointRegisters a listener- Specified by:
addEndPointListenerin interfaceSyncEndpoint
-
removeEndPointListener
Description copied from interface:SyncEndpointUnregisters a listener- Specified by:
removeEndPointListenerin interfaceSyncEndpoint
-
deleteContent
Description copied from interface:SyncEndpointRemoves content from the endpoint.- Specified by:
deleteContentin interfaceSyncEndpoint
-