org.apache.commons.vfs.impl
Class PrivilegedFileReplicator

java.lang.Object
  extended by org.apache.commons.vfs.impl.PrivilegedFileReplicator
All Implemented Interfaces:
FileReplicator, VfsComponent

public class PrivilegedFileReplicator
extends java.lang.Object
implements FileReplicator, VfsComponent

A file replicator that wraps another file replicator, performing the replication as a privileged action.

Version:
$Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Mi, 29 Nov 2006) $
Author:
Adam Murdoch

Nested Class Summary
private  class PrivilegedFileReplicator.CloseAction
          An action that closes the wrapped replicator.
private  class PrivilegedFileReplicator.InitAction
          An action that initialises the wrapped replicator.
private  class PrivilegedFileReplicator.ReplicateAction
          An action that replicates a file using the wrapped replicator.
 
Field Summary
private  FileReplicator replicator
           
private  VfsComponent replicatorComponent
           
 
Constructor Summary
PrivilegedFileReplicator(FileReplicator replicator)
           
 
Method Summary
 void close()
          Closes the replicator.
 void init()
          Initialises the component.
 java.io.File replicateFile(FileObject srcFile, FileSelector selector)
          Creates a local copy of the file, and all its descendents.
 void setContext(VfsComponentContext context)
          Sets the context for the replicator.
 void setLogger(org.apache.commons.logging.Log logger)
          Sets the Logger to use for the component.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

replicator

private final FileReplicator replicator

replicatorComponent

private final VfsComponent replicatorComponent
Constructor Detail

PrivilegedFileReplicator

public PrivilegedFileReplicator(FileReplicator replicator)
Method Detail

setLogger

public void setLogger(org.apache.commons.logging.Log logger)
Sets the Logger to use for the component.

Specified by:
setLogger in interface VfsComponent

setContext

public void setContext(VfsComponentContext context)
Sets the context for the replicator.

Specified by:
setContext in interface VfsComponent
Parameters:
context - The context.

init

public void init()
          throws FileSystemException
Initialises the component.

Specified by:
init in interface VfsComponent
Throws:
FileSystemException

close

public void close()
Closes the replicator.

Specified by:
close in interface VfsComponent

replicateFile

public java.io.File replicateFile(FileObject srcFile,
                                  FileSelector selector)
                           throws FileSystemException
Creates a local copy of the file, and all its descendents.

Specified by:
replicateFile in interface FileReplicator
Parameters:
srcFile - The file to copy.
selector - Selects the files to copy.
Returns:
The local copy of the source file.
Throws:
FileSystemException - If the source files does not exist, or on error copying.