## Uses of Interface
edu.isi.pegasus.planner.transfer.Implementation

Packages that use Implementation
edu.isi.pegasus.planner.refiner
edu.isi.pegasus.planner.transfer
edu.isi.pegasus.planner.transfer.implementation
edu.isi.pegasus.planner.transfer.refiner

### Uses of Implementation in edu.isi.pegasus.planner.refiner

Fields in edu.isi.pegasus.planner.refiner declared as Implementation
`protected Implementation` DeployWorkerPackage.`mSetupTransferImplementation` The transfer implementation to be used for staging in the data as part of setup job.

### Uses of Implementation in edu.isi.pegasus.planner.transfer

Fields in edu.isi.pegasus.planner.transfer declared as Implementation
`protected Implementation` AbstractRefiner.`mTXInterImplementation` The inter transfer implementation that the refiner requires.
`protected Implementation` AbstractRefiner.`mTXStageInImplementation` The stage-in transfer implementation that the refiner requires.
`protected Implementation` AbstractRefiner.`mTXStageOutImplementation` The stage-out transfer implementation that the refiner requires.
`protected Implementation` AbstractRefiner.`mTXSymbolicLinkImplementation` The stage-in symbolic link transfer implementation that refiner requires.

Methods in edu.isi.pegasus.planner.transfer with parameters of type Implementation
`private void` MultipleFTPerXFERJobRefiner.`checkCompatibility(Implementation implementation)` Checks whether the implementation loaded is compatible with the refiner.

### Uses of Implementation in edu.isi.pegasus.planner.transfer.implementation

Classes in edu.isi.pegasus.planner.transfer.implementation that implement Implementation
`class` `Abstract` An abstract implementation that implements some of the common functions in the Implementation Interface that are required by all the implementations.
`class` `AbstractMultipleFTPerXFERJob` An abstract implementation for implementations that can handle multiple file transfers in a single file transfer job.
`class` `AbstractSingleFTPerXFERJob` An abstract implementation for implementations that can handle only a single file transfer in a single file transfer job.
`class` `GUC` The implementation that is used to create transfer jobs that callout to the new globus-url-copy client, that support multiple file transfers
`class` `Stork` The implementation that creates transfer jobs referring to the stork data placement scheduler that can handle only one transfer per job.
`class` `T2` The implementation that creates transfer jobs referring to the T2 executable distributed with the Pegasus.
`class` `TPTGUC` The implementation that is used to create transfer jobs that callout to the new globus-url-copy client, that support multiple file transfers
`class` `Transfer` The implementation that creates transfer jobs referring to the python based transfer script distributed with Pegasus since version 3.0

Methods in edu.isi.pegasus.planner.transfer.implementation that return Implementation
`static Implementation` ImplementationFactory.`loadInstance(PegasusBag bag, int type)` Loads the implementing class corresponding to the type specified by the user.
`private static Implementation` ImplementationFactory.`loadInstance(java.lang.String className, PegasusBag bag)` Loads the implementing class corresponding to the class.

### Uses of Implementation in edu.isi.pegasus.planner.transfer.refiner

Methods in edu.isi.pegasus.planner.transfer.refiner with parameters of type Implementation

`void`

BalancedCluster.`addStageInXFERNodes(Job job, boolean localTransfer, java.util.Collection files, int type, java.util.Map<java.lang.String,BalancedCluster.PoolTransfer> stageInMap, BalancedCluster.BundleValue bundleValue, Implementation implementation)`
Adds the stage in transfer nodes which transfer the input files for a job, from the location returned from the replica catalog to the job's execution pool.

`void` Cluster.`addStageInXFERNodes(Job job, boolean localTransfer, java.util.Collection files, int jobType, java.util.Map<java.lang.String,Bundle.PoolTransfer> stageInMap, Bundle.BundleValue cValue, Implementation implementation)` Adds the stage in transfer nodes which transfer the input files for a job, from the location returned from the replica catalog to the job's execution pool.
`void` Bundle.`addStageInXFERNodes(Job job, boolean localTransfer, java.util.Collection files, int type, java.util.Map<java.lang.String,Bundle.PoolTransfer> stageInMap, Bundle.BundleValue bundleValue, Implementation implementation)` Adds the stage in transfer nodes which transfer the input files for a job, from the location returned from the replica catalog to the job's execution pool.
`void` Basic.`addStageInXFERNodes(Job job, java.util.Collection<FileTransfer> files, java.lang.String prefix, Implementation implementation)` Adds the stage in transfer nodes which transfer the input files for a job, from the location returned from the replica catalog to the job's execution pool.
`void` Empty.`addStageInXFERNodes(Job job, java.util.Collection<FileTransfer> files, java.lang.String prefix, Implementation implementation)` Adds the stage in transfer nodes which transfer the input files for a job, from the location returned from the replica catalog to the job's execution pool.
`int` Bundle.BundleValue.`determine(Implementation implementation, Job job)` Determines the bundle factor for a particular site on the basis of the stage in bundle value associcated with the underlying transfer transformation in the transformation catalog.
`int` BalancedCluster.BundleValue.`determine(Implementation implementation, Job job)` Determines the bundle factor for a particular site on the basis of the stage in bundle value associcated with the underlying transfer transformation in the transformation catalog.
`void` Bundle.`doneStageIn(java.util.Map<java.lang.String,Bundle.PoolTransfer> stageInMap, Implementation implementation, int stageInJobType, boolean localTransfer)` Signals that the traversal of the workflow is done.
`java.util.Map<java.lang.String,BalancedCluster.PoolTransfer>` BalancedCluster.`resetStageInMap(java.util.Map<java.lang.String,BalancedCluster.PoolTransfer> stageInMap, Implementation implementation, int stageInJobType, boolean localTransfer)` Signals that the traversal of the workflow is done.
`protected java.util.Map<java.lang.String,Bundle.PoolTransfer>` Cluster.`resetStageInMap(java.util.Map<java.lang.String,Bundle.PoolTransfer> stageInMap, Implementation implementation, java.util.Map<java.lang.String,Job> transientSynchJobMap, int jobType, boolean createChildSyncJob, boolean localTransfer)` Resets the stage in map and adds the stage in jobs for each site per level.